Menu初步

 Android 系统中有三种菜单 -----Contex Menus ,情境菜单:不支持菜单快捷键和图标。 Options Menus ,选项菜单:支持图标,但不支持菜单项选中标记。 Sub menus ,子菜单,不支持图标,不能再有子菜单。
     OptionsMenus 通过菜单快捷键触发,由 Activity onCreateOptionsMenu(Menu) 方法创建。
     ContexMenus Activity onCreateContextMenu(ContextMenu, View ,ContextMenuInfo) 创建,创建该 Menu 必须对指定的 View 进行注册,方法是: registerForContextMenu(view)
        SubMenus 以上两种 Menu 都可以嵌入子菜单,当时子菜单中不能嵌入子菜单
 
  下面主要是介绍解析指定 XML Menu 对象
MenuInflater: 用于将 xml 解析成 Menu 工具类,通过 Activity getMenuInflater() 方法可以过得该对象:
      MenuInflater inflater = getMenuInflater();
让后通过该对象解析指定的对象
       inflater.inflate(int,Menu);
int: 表示 xml 文件的资源 id
Menu: 表示将 xml 解析成的 Menu 对象, xml 文件中的元素或者 subMenu 都被添加到该 Menu 中去。  
  Menu 元素监听
  OptionMenu 菜单: onOptionsItemSelected(MenuItem)
  ContextMenus 菜单: onContextItemSelected(MenuItem) ,另外也可以通过重写 View onCreateContextMenu 方法来注册该 View Menu 事件
  其中 MenuItem 表示用户选中的菜单的元素,可以通过 MenuItem Id 来辨别每个 Item 的操作事件,也可以通过 Item GroupID 来确定操作事件。
  例如:
     public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) { 
                case R.id. jump :
     Toast.makeText( this , "Jump up in the air!" , Toast. LENGTH_SHORT ).show();
                return true ;
}
}
Menu( 主要方法 )
hasVisibleItems () :判断该 Menu 中是否有元素是可见的
findItem (int id) :找到指定的 ID Item
isShortcutKey (int, KeyEvent ) :为该 Menu 设置一个快捷键, int 表示快捷键的字符码
removeGroup (int) :移除指定的 ID 组的 item
removeItem (int) :移除指定 id Item
 
Xml 文件中定义 Menu
  Menu xml 文件一定要放在 res/menu 目录下面
  Xml 文件由 menu 标签、 group 标签、 Item 标签组成
   Menu xml 文件的根目录
   Group :定义该 menu group 属性
      Item :定义该 menu item 的属性
 
android:id :表示该 group item id
android:checkableBehavior :表示在 group 下面的 item 可选的元素
     single :表示单一选择
   all :表示所有元素都被选择
   none :表示没有元素被选择
android:visible :表示 group/item 是否可见
android:enabled :表示 group/item 是否被激活
android:title Item 的主题内容
android:icon :表示 Item 的图像
android:checked :表示该 item 被选
android:alphabeticShortcut/android:numericShortcut :表示 item 的快捷键设置、
 
如下代码:
 
< menu xmlns:android ="http://schemas.android.com/apk/res/android" >
< group android:id ="@+id/group"    
android:checkableBehavior ="single"
android:visible ="true"
android:enabled ="true"    
>
< item android:id ="@+id/jump"
                 android:title ="@string/jump"
                 android:alphabeticShortcut ="s"
                 />
         < item android:id ="@+id/dive"
                 android:title ="@string/dive" />
     </ group >
</ menu >

 

你可能感兴趣的:(android,职场,菜单,休闲)