optionsMenu就是用户在按下手机键盘上的Menu键时,Activity下方弹出的菜单。借个图展示一下:
接下来,本文的主要内容有:
1、
如何建立菜单
2、
如何响应菜单上的点击动作
3、
讲解Menu的各种属性及Group分组
首先,如何建立菜单。
其实每个Activity都有处理菜单的能力,我们只需要重写onCreateOptionsMenu(Menu
menu)这个方法就可以建立菜单了。具体操作起来有两种方法。
方法一,直接用代码构建Menu。
方法二,先用xml文件构建好Menu,再到代码里加载。
例如,res/menu/option_menu_1.xml内容如下:
则在Activity里这样写:
其次,如何响应菜单上的点击动作
我们只需要重写onOptionsItemSelected(MenuItem item)这个方法就可以做响应的操作了。代码如下:
最后,在设置Menu的时候,有些属性值得一说。
第一个,Item的属性:menuCategory,它的取值一共有四个。我们可以在xml文件中写上android:menuCategory="container",也可以在用代码构建Menu时这样写:menu.add(groupid,itemid,Menu.CATEGORY_CONTAINER,title);四个取值的具体内容可以参见API中Menu的静态属性部分。那这四个分类是有什么用的呢?根据API资料,这个分类应该是跟菜单展示时各项的排序有关系的。但是我试过不同的菜单项设不同的MenuCategory值,但结果并不是预期的那样,预期是:数值越小的越靠上,靠左。但有一点可以确认,MenuCategory不设值(默认为0)时,菜单项是排在最左上角的。
第二个,Item的属性:orderInCategory,它的取值是0-0xffff之间的整数。也是设置排序顺序的。它跟第一个属性有啥关系呢?就是一个菜单项最终的Order值是MenuCategory值与orderInCategory值相加的结果。
还有Group分组,在xml创建Menu时,已经演示了Group的使用。我们使用Group是为了方便处理那些拥有相同特征的菜单项。比如有几个菜单是要登录了才可以使用,或者部分菜单项前面要加选择框,那我们就可以将它们放到一组,后面对这一个组进行操作就行了。
最后再补充一个对Menu进行样式设置的问题。API中没有提供设置背景等的方法。有朋友已经解决了些问题。在此贴上链接。
http://blog.csdn.net/sodino/archive/2011/01/26/6165132.aspx
分享到:
相关推荐
#### 二、OptionsMenu详解 - **onCreateOptionsMenu(Menu menu)**:此方法用于创建OptionsMenu,它只在菜单首次显示时调用。在这里可以定义菜单项,包括它们的ID、图标和文本等内容。 - **onPrepareOptionsMenu...
- 主要有三种类型的Menu:选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和弹出式菜单(PopupMenu)。 2. **创建Option Menu** - 在`res/menu`目录下创建XML文件来定义菜单项,每个菜单项是一个标签。 - ...
在Android 3.0(API级别11)及更高版本中,Action Bar取代了传统的Options Menu,但为了兼容低版本系统,可以使用`android:showAsAction`属性控制菜单项是否显示在Action Bar中。 总的来说,Android中的Menu提供了...
菜单有三种形式:选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和弹出式菜单(PopupMenu)。开发者可以通过重写`onCreateOptionsMenu()`、`onPrepareOptionsMenu()`以及`onOptionsItemSelected()`方法来创建...
1. **Android菜单基础**:在Android中,菜单主要分为三种类型:选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和弹出式菜单(PopupMenu)。选项菜单通常在屏幕顶部显示,而上下文菜单在长按元素时出现,弹出式...
Android菜单主要有三种类型:选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和弹出式菜单(PopupMenu)。选项菜单通常显示在屏幕顶部,与设备的硬件菜单按钮或虚拟菜单按钮关联;上下文菜单在长按某项内容时...
8.10.1 options menu 8.10.2 context menu 8.10.3 sub menu 8.11 Notification(通知) 8.11.1 一般的Notification 8.11.2 带进度的Notification 8.12 Toast(提示) 8.13 本章小结 第9章 风格与动画 9.1 主题与风格...
1. 选项菜单(OptionsMenu):通常在屏幕顶部或底部显示,当用户点击菜单按钮时出现。 2. 上下文菜单(ContextMenu):针对特定视图或数据项弹出,如长按某条目时出现。 3. 子菜单(SubMenu):嵌套在其他菜单项下,...
6.1.2 选项菜单(OptionsMenu) 6.1.3 基于XML的菜单结构 6.2 界面布局设计 6.2.1 基于XML的布局设计 6.2.2 线性布局(LinearLayout) 6.2.3 相对布局(RelativeLayout) 6.2.4 表格布局(TableLayout) 6.2.5 绝对...
appcompat-v7提供了对OptionsMenu的兼容性,使得开发者可以使用菜单图标和上下文菜单,这些在旧版Android中可能不被支持。 三、使用appcompat-v7 使用appcompat-v7的步骤通常包括以下几个部分: 1. 在build.gradle...
### Android 4.0 ActionBar API 知识点详解 #### 一、ActionBar 概述 ActionBar 是 Android 4.0 (API 级别 14) 引入的一个新特性,它替代了传统的标题栏 (title bar),并提供了一个更丰富、更灵活的界面控件,用于...
【Android 开发工程师测试知识点详解】 1. **Activity**: - Activity是Android四大组件(Activity、Service、BroadcastReceiver、ContentProvider)之一。 - 它通常作为一个Java类实现,用于构建用户界面并与...
Android菜单主要包括三种类型:选项菜单(Options Menu)、上下文菜单(Context Menu)和子菜单(Submenu)。下面我们将详细介绍这三种菜单的实现方法。 **一、选项菜单 (Options Menu)** 选项菜单通常在用户按下设备上...
这些功能通常在`OptionsMenu`或`BottomNavigationView`中实现。 9. **多线程** - 如果游戏包含AI对战,可能需要在后台线程执行计算,以避免阻塞主线程并保持UI流畅。 10. **测试与调试** - 使用Android Studio...
4. **界面设计**: 界面抓图通常展示UI布局,如TextView(用于显示文本)、EditText(用于用户输入)、Button(执行操作如保存、删除)和OptionsMenu(如菜单项)。开发者需要考虑用户体验和响应式设计,确保应用在...