Android 学习笔记(二七):Menu.doc
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
在Android开发中,Menu是一个重要的组件,用于向用户提供应用程序的操作选项。主要分为Option Menu和Context Menu两种类型。Option Menu是用户按下设备上的Menu硬按键时出现的,通常最多显示6个选项,超过6个时会有一个"More"选项,点击后会展开剩余的菜单项。而Context Menu则是通过长按某个Widget触发的,它与当前操作对象相关联。 在Android学习笔记(二七)中,我们将重点探讨Option Menu的创建和使用。我们需要为每个菜单项分配唯一的ID,这里使用了`Menu.FIRST + n`的方式,`Menu.FIRST`表示ID的起始值,确保每个ID的唯一性。 创建Option Menu的主要步骤如下: 1. **定义菜单项ID**:如代码所示,定义了一系列常量ID,分别对应不同的菜单项。 2. **创建菜单**:当用户首次按下Menu键时,会调用`onCreateOptionsMenu()`方法。在这里,我们使用`menu.add()`方法添加菜单项。该方法的参数包括: - `groupId`:如果不分组,可以设置为`Menu.NONE`。 - `itemId`:每个菜单项的唯一ID,使用之前定义的常量。 - `order`:菜单项的顺序,通常设为`Menu.NONE`。 - `title`:菜单项的文本,可以直接输入字符串或引用`strings.xml`中的ID。 例如,以下代码片段展示了如何创建7个具有不同像素值的菜单项: ```java public boolean onCreateOptionsMenu(Menu menu) { menu.add(Menu.NONE, ONE_ID, Menu.NONE, "1 Pixel"); menu.add(Menu.NONE, TWO_ID, Menu.NONE, "2 Pixels"); // ... 添加其他菜单项 return super.onCreateOptionsMenu(menu); } ``` 3. **添加图标**:若需为菜单项添加图标,可以在`menu.add()`方法中使用`setIcon()`,传入一个`Drawable`对象或者资源ID。 4. **处理菜单项的点击事件**:菜单项被选中时,会调用`onOptionsItemSelected(MenuItem item)`方法。我们需要在这个方法中根据`item.getItemId()`来判断用户选择了哪个菜单项,并执行相应的操作。 5. **自定义菜单布局**:如果需要更复杂的菜单布局,可以使用`MenuInflater`来从XML布局文件中加载菜单。在`onCreateOptionsMenu()`中,使用`MenuInflater.from(this).inflate(R.menu.my_menu, menu);`来替代直接调用`menu.add()`的方法。`my_menu`是包含菜单项定义的XML文件。 6. **控制菜单的可见性和启用状态**:可以使用`menu.findItem(id).setVisible(false)`或`menu.findItem(id).setEnabled(false)`来改变特定菜单项的可见性和启用状态。 通过以上步骤,开发者可以在Android应用中创建并定制Option Menu,提供丰富的交互体验。在实际项目中,根据需求调整菜单项的数量、布局以及行为,以满足用户的各种操作需求。对于Context Menu,它的创建和使用与Option Menu类似,只是触发方式不同,更多与上下文相关的操作。


























- 粉丝: 106
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大数据视角下的语文课堂提问方法探究.docx
- 云计算市场与技术发展趋势.doc
- 通信工程施工管理概述.doc
- 关于强电线路对通信线路的影响及其防护.doc
- 集团大数据平台安全方案规划.docx
- Matlab基于腐蚀和膨胀的边缘检测.doc
- 网络监控系统解决方案酒店.doc
- 电动机智能软起动控制系统的研究与方案设计书(PLC).doc
- jAVA2程序设计基础第十三章.ppt
- 基于PLC的机械手控制设计.doc
- 医院his计算机信息管理系统故障应急预案.doc
- 企业运用移动互联网进行青年职工思想政治教育路径.docx
- 数据挖掘的六大主要功能.doc
- 大数据行政尚在跑道入口.docx
- 用Proteus和Keil建立单片机仿真工程的步骤.doc
- Internet技术与应用网络——资源管理与开发.doc


