版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android项目开发任务3-7:菜单控件Menu的使用导入任务任务实施相关知识拓展训练导入任务进行Android应用软件开发,需要掌握其软件界面控件的使用,本次任务使用Menu控件完成一个底部功能菜单界面的设计。导入任务【任务目标】使用Menu制作一个在Android系统中使用的应用程序底部功能菜单。导入任务【任务描述】菜单是Android应用中非常重要且常见的组成部分,主要可以分为三类:选项菜单、上下文菜单以及弹出菜单。其中弹出菜单以垂直列表形式显示多个操作选项。在Android中,弹出菜单显示在屏幕界面下方。它适用于提供与特定内容相关的大量操作。使用XML和Java代码都可以创建Menu。但是在实际开发中,往往通过XML文件定义Menu,这样做可以使用XML可以获得更清晰的菜单结构,将菜单内容与应用的逻辑代码分离。本次任务中,我们将使用Menu完成一个底部功能菜单及菜单项的设计与制作。导入任务【任务分析】本任务界面设计非常简单,主界面布局可用线性布局。在线性布局下,设置1个TextView控件用于显示“菜单示例”即可。任务的重心在于菜单界面的菜单项设计。任务实施创建项目后进行界面设计编写实现功能的程序代码运行应用程序并查看结果任务实施操作1:设计界面。创建一个【AndroidApplicationProject】,将项目命名为“menudemo”。双击打开项目“menudemo”中的主界面文件“activity_main.xml”,编写界面程序,在程序编辑窗口输入对应xml代码,完成界面代码的编写。任务实施操作2:制作菜单。双击打开项目“menudemo”中的菜单界面文件“activity_main.xml”,编写菜单程序,在程序编辑窗口输入对应xml代码,完成菜单的制作。任务实施操作3:实现功能。双击打开src目录中的“MainActivity.java”程序,在程序编辑窗口输入对应Java代码,完成功能代码的编写。任务实施操作4:运行调试。保存文件,浏览设计效果,运行该项目,看看程序运行效果。相关知识菜单控件MenuMenu菜单项设计Menu创建和载入Menu响应事件处理技术知识知识点1:菜单控件MenuMenu是指在Android系统中,当用户按下智能手机或平板电脑的“菜单”按钮时,屏幕底部会出现的选项菜单。Menu菜单一般会设计成图标菜单,可以显示多达6个菜单项。如果Menu包括6个以上菜单项,则Android会将第六项和其余项目放入溢出菜单,用户可以通过选择“更多”打开该菜单。Android提供了标准的XML格式的资源文件来定义菜单项。我们推荐使用XML资源文件来定义菜单。如果在XML资源文件创建菜单Menu,需要在/res/menu/目录下的菜单文件中构建以下几个元素:<menu>:定义一个Menu,是一个菜单资源文件的根节点,里面可以包含一个或者多个<item>和<group>元素。<item>:创建一个MenuItem,代表了菜单中一个选项。可以嵌套<menu>元素,以便创建子菜单。<group>:对菜单项进行分组,可以以组的形式操作菜单项。技术知识知识点2:Menu菜单项<item>设计<item>是Menu菜单项设计需要关注的主要元素,它的常见属性如下:android:id:菜单项(MenuItem)的唯一标识android:icon:菜单项的图标(可选)android:title:菜单项的标题(必选)android:showAsAction:指定菜单项的显示方式。常用的有ifRoom、never、always、withText,多个属性值之间可以使用|隔开。技术知识知识点3:Menu的创建和载入在Android中,Menu界面用<menu>、<item>、<group>三种XML标签定义和设计。而界面的载入和显示是通过Activity类重写onCreateOptionsMenu()方法来实现。该方法可以调用指定的菜单界面。在Activity中,重写onCreateOptionsMenu()方法,并在这个方法中完成加载Menu资源的操作,其关键代码如下:MenuInflaterinflater=getMenuInflater();
//获取MenuInflaterinflater.inflate(R.menu.menu_option,menu);
//加载Menu资源值得注意的是,
onCreateOptionsMenu()方法必须返回true,否则Menu将不会显示。技术知识知识点4:Menu响应事件处理Menu处理响应事件的方式是重写onOptionsItemSelected()方法。该方法将传递所选中的MenuItem。通过调用getItemId()方法来识别对应item,getItemId()方法将返回菜单项的唯一ID(由菜单资源中的android:id属性定义)。示例代码如下:@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){
switch(item.getItemId()){
caseR.id.menu_option_1:returntrue;
caseR.id.menu_option_2:returntrue;
caseR.id.menu_option_3:returntrue;
caseR.id.menu_option_4:returntrue;
default:returnsup
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年新疆交警科目四考试题库及答案【题】
- 2026年通信工程师职业技能鉴定试题与答案
- 2026年事业单位考试《综合应用能力》D类真题及答案
- 2026年广东事业单位统考《公基》+《职测》真题备考资料
- 2026年3月30日全国事业单位分类考试《综合应用能力(B类)》试题
- 抵制网络不良信息筑牢信息安全防线小学主题班会课件
- 2026年共青团素养提升考试题库附答案
- 全民实践及推行“乡村振兴战略”知识竞赛试题(含答案)
- 2025年全国法制宣传日五五普法知识竞赛试题和参考答案
- 2026年成人高考专升本政治专用练习题及答案
- 2026学年广东省梅州市六年级数学期末通关专项特训题(详细参考解析)详细答案和解析
- 2026中国华电集团有限公司重庆分公司校园招聘(第一批)笔试历年备考题库附带答案详解
- 2026年湖北省中考物理试卷(含答案)
- 2026年天津市中考英语试题(含答案)
- 2026年荆州理工职业学院教师招聘考试参考题库及答案解析
- 2026交银金融科技有限公司人才招聘备考题库及一套参考答案详解
- 电力系统继电保护期末复习题及参考答案
- 设备点检管理制度培训
- (2026版)中华人民共和国民族团结进步促进法
- 成都市2022级(2025届)高中毕业班摸底测试(零诊)英语试卷(含答案)
- 设备管理PM设备运维管理课件
评论
0/150
提交评论