Menu资源

Menu资源定义了应用程序的菜单(选项菜单,上下文菜单或子菜单),可以通过MenuInflater创建。

File Location

    res/menu/filename.xml

    文件名将作为资源ID使用。

Compiled Resource Datatype

    指向Menu(或子类)资源的指针。

Resouce Reference

    R.menu.filenameJava

    @[package:]menu.filenameXML

Syntax

<?xml version="1.0" encoding="utf-8"?> 

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:id="@+id/id_name" 

          android:menuCategory=["container" | "system" | "secondary" | "alternative"

          android:orderInCategory="integer" 

          android:title="string" 

          android:titleCondensed="string" 

          android:icon="@[package:]drawable/drawable_resource_name" 

          android:alphabeticShortcut="string" 

          android:numericShortcut="string" 

          android:checkable=["true" | "false"

          android:visible=["visible" | "invisible" | "gone"

          android:enabled=["enabled" | "disabled"] /> 

    <group android:id="resource ID" 

           android:menuCategory=["container" | "system" | "secondary" | "alternative"

           android:orderInCategory="integer" 

           android:checkableBehavior=["none" | "all" | "single"

           android:visible=["visible" | "invisible" | "gone"

           android:enabled=["enabled" | "disabled"] > 

        <item /> 

    </group> 

    <item > 

        <menu> 

          <item /> 

        </menu> 

    </item> 

</menu>

Elements

    <menu>

    必须。必须是根节点。包含<item><group>元素。

        Attributes

              xmlns:android

                  String。必须。定义XML命名空间,http://schemas.android.com/apk/res/android

    <group>

    菜单组,item集合,用于共享特征,如visibleenabledcheckable。包含一个或多个<item>元素。必须是<menu>的子元素。

Attributes

android:id

    资源名。唯一的资源名。使用此格式:“@+id/name”。

android:menuCategory

    KeywordMenu_CATEGORY_*常量,定义组的优先级。有效的值包括:

Value

Description

container

For groups that are part of a container.

system

For groups that are provided by the system.

secondary

For groups that are user-supplied secondary (infrequently used) options.

alternative

For groups that are alternative actions on the data that is currently displayed.

android:orderInCategory

    Integeritem的默认顺序。

android:checkableBehavior

    Keywordgroupcheckable行为类型。有效的值包括:

Value

Description

none

Not checkable

all

All items can be checked (use checkboxes)

single

Only one item can be checked (use radio buttons)

android:visible

    Boolean。“true”表示group可见。

android:enabled

    Boolean。“true”表示group可用。

    <item>

    Menu item。可能包含一个<menu>元素(子菜单)。必须是<menu><group>元素的子元素。

              Attributes

              android:id

资源名。唯一的资源名。使用此格式:“@+id/name”。

android:menuCategory

    KeywordMenu_CATEGORY_*常量,定义item的优先级。有效的值包括:

Value

Description

container

For items that are part of a container.

system

For items that are provided by the system.

secondary

For items that are user-supplied secondary (infrequently used) options.

alternative

For items that are alternative actions on the data that is currently displayed.

 

android:orderInCategory

    Integergroupitem的重要度顺序。

android:title

    Stringmenu的标题。

android:titleCondensed

    String。简要标题,应用于普通标题过于长的情况。

android:icon

    Drawable资源。作为菜单项的icon显示。

android:alphabeticShortcut

    Char。字母快捷键。

android:numericShortcut

    Integer。数字快捷键。

android:checkable

    Boolean。“true”表示item可选。

android:checked

    Boolean。“true”表示item默认选中。

android:visible

    Boolean。“true”表示item默认可见。

android:enabled

    Boolean。“true”表示item默认可用。

Example

    XML保存在res/menu/example_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:id="@+id/item1" 

          android:title="@string/item1" 

          android:icon="@drawable/group_item1_icon" /> 

    <group android:id="@+id/group"> 

        <item android:id="@+id/group_item1" 

              android:title="@string/group_item1" 

              android:icon="@drawable/group_item1_icon" /> 

        <item android:id="@+id/group_item2" 

              android:title="G@string/group_item2" 

              android:icon="@drawable/group_item2_icon" /> 

    </group> 

    <item android:id="@+id/submenu" 

          android:title="@string/submenu_title" > 

        <menu> 

            <item android:id="@+id/submenu_item1" 

                  android:title="@string/submenu_item1" /> 

        </menu> 

    </item> 

</menu>

    onCreateOptionsMenu(Menu)回调中激活这个menu

public boolean onCreateOptionsMenu(Menu menu) { 

  MenuInflater inflater = getMenuInflater(); 

  inflater.inflate(R.menu.example_menu, menu); 

  return true; 

}

posted on 2010-06-25 15:56  xirihanlin  阅读(1969)  评论(0编辑  收藏  举报