正如你所熟悉的那样,Android支持大多数传统的菜单项选项,包括iconshortcutcheckboxradio button,如下描述:

CheckboxesRadio Buttons

Checkboxesradio buttons作为菜单项在扩展菜单和子菜单中可见,如图4-6所示。设置菜单项为checkbox,使用setCheckable方法。checkbox的状态由setChecked方法控制。

Radio button组是一组显示循环选择的按钮,每一次只能选择其中一个项目。在同一个组里,如果选择了一个,那么其它的自动变成未选择状态。创建radio button组,需要指定相同的组ID给每一个项目,然后调用menu.setGroupCheckable方法,传入组ID,并将其它参数指定为true

Checkbox在图标菜单中不可见,所以,表示为checkbox的菜单项请保留给子菜单和扩展菜单使用。下面的代码片段给出了如何添加一个checkbox和一组三个radio button

// Create a new check box item.menu.add(0, CHECKBOX_ITEM, Menu.NONE, “CheckBox”).setCheckable(true); // Create a radio button group.menu.add(RB_GROUP, RADIOBUTTON_1, Menu.NONE, “Radiobutton 1”);menu.add(RB_GROUP, RADIOBUTTON_2, Menu.NONE, “Radiobutton 2”);menu.add(RB_GROUP, RADIOBUTTON_3, Menu.NONE,  “Radiobutton 3”).setChecked(true);menu.setGroupCheckable(RB_GROUP, true, true);

Shortcut Keys

你可以使用setShortcut方法给菜单项指定快捷键。每一次调用setShortcut需要两个快捷键,一个是数字键,另一个可以是全键盘中的键。任何键不区分大小写。

下面的代码片段给出了如何为两种模式设定快捷键:

// Add a shortcut to this menu item, ‘0’ if using the numeric keypad

// or ‘b’ if using the full keyboard.

menuItem.setShortcut(‘0’, ‘b’);

Condensed Titles

图标菜单不显示快捷键和checkbox,所以它需要经常修改它显示的文本来显示它的状态。接下来的代码给出了如何为图标菜单设定指定的文本:

menuItem.setTitleCondensed(“Short Title”);

Icons

Icondrawable资源ID,用来在菜单项中显示。Icons只能在图标菜单中显示;它们在扩展菜单和子菜单中不可见。下面的代码片段给出了如何为菜单项应用图标:

menuItem.setIcon(R.drawable.menu_item_icon);

Menu Item Click Listener

当菜单项被选择时会执行的事件处理函数。考虑到效率的因素,这种做法不提倡;作为替代,菜单项的选择应该被onOptionsItemSelected处理器处理,如这个章节的后面所示。应用一个click listener到菜单项上,使用下面代码片段所示的样式:

menuItem.setOnMenuItemClickListener(new OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem _menuItem) {[ ... execute click handling, return true if handled ... ]return true;}}); 

Intents

当点击菜单项没有被MenuItemClickListenerActivityonOptionsItemSelected处理函数处理的话,指定给菜单项的Intent就会被触发。触发时,Android会执行startActivity,传入一个指定的Intent。下面的代码片段给出了如何指定一个Intent给菜单项:

menuItem.setIntent(new Intent(this, MyOtherActivity.class));

更多相关文章

  1. Android创建定时和周期任务
  2. Android(安卓)Web App官方文档翻译第三章:WebView构建应用
  3. Android实现整理PackageManager获取所有安装程序信息
  4. Android(安卓)Widget搭建过程
  5. ubuntu12.04(64bit)编译android-3.4内核代码
  6. Android(安卓)studio(Windows)快捷键
  7. qiniuLive 连麦流程介绍
  8. Android(安卓)Timer的自动功能
  9. Android入门:用HttpClient模拟HTTP的GET和POST请求

随机推荐

  1. android 百度语音识别(离在线)以及唤醒功能
  2. Android中一个app启动另一个app的指定act
  3. android之camera2获取数据
  4. android 通过网址或者域名得到IP地址
  5. android LocalActivityManager说明
  6. android监听联系人变化的方法
  7. android res
  8. Android RecyclerView 子条目(item)嵌套 Re
  9. android viewpager+fragment与利用viewpa
  10. android user agent修改