zoukankan      html  css  js  c++  java
  • Android 菜单项选项

    正如你所熟悉的那样,Android支持大多数传统的菜单项选项,包括icon、shortcut、checkbox和radio button,如下描述:
     
    Checkboxes和Radio Buttons
    Checkboxes和radio 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
    Icon是drawable资源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
    当点击菜单项没有被MenuItemClickListener或Activity的onOptionsItemSelected处理函数处理的话,指定给菜单项的Intent就会被触发。触发时,Android会执行startActivity,传入一个指定的Intent。下面的代码片段给出了如何指定一个Intent给菜单项:
     
    menuItem.setIntent(new Intent(this, MyOtherActivity.class));
  • 相关阅读:
    Ubuntu Server下docker实战 02: docker进阶配置
    Ubuntu Server下docker实战 01: 安装docker
    简单一个方法实现商品组合管理--递归笛卡尔
    Little-Endian小字节序
    BinaryWriter和BinaryReader用法
    C#位运算
    TCP协议三次握手过程分析
    简述HTTP过程
    c# 版贪食蛇
    今日头条列表json
  • 原文地址:https://www.cnblogs.com/top5/p/2439608.html
Copyright © 2011-2022 走看看