Android API Guides---Menu Resource

菜单资源
菜单资源定义应用程序菜单(选项菜单,右键菜单,或子菜单),可以与MenuInflater充气。
对于使用指南菜单,请参阅菜单开发指南。
文件位置:
RES /菜单/ filename.xml中
文件名将用作资源ID。
编译的资源数据类型:
资源指针到菜单(或子类)的资源。
资源引用:
在Java:R.menu.filename
在XML: @[ package :]menu. filename

句法:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@[+][package:]id/resource_name"
          android:title="string"
          android:titleCondensed="string"
          android:icon="@[package:]drawable/drawable_resource_name"
          android:onClick="method name"
          android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]
          android:actionLayout="@[package:]layout/layout_resource_name"
          android:actionViewClass="class name"
          android:actionProviderClass="class name"
          android:alphabeticShortcut="string"
          android:numericShortcut="string"
          android:checkable=["true" | "false"]
          android:visible=["true" | "false"]
          android:enabled=["true" | "false"]
          android:menuCategory=["container" | "system" | "secondary" | "alternative"]
          android:orderInCategory="integer" />
    <group android:id="@[+][package:]id/resource name"
           android:checkableBehavior=["none" | "all" | "single"]
           android:visible=["true" | "false"]
           android:enabled=["true" | "false"]
           android:menuCategory=["container" | "system" | "secondary" | "alternative"]
           android:orderInCategory="integer" >
        <item />
    </group>
    <item >
        <menu>
          <item />
        </menu>
    </item>
</menu>
ELEMENTS:
<menu>
需要。这必须是根节点。包含的<item>和/或<集团>元素。
属性:


xmlns:android
XML命名空间。需要。定义了XML命名空间,它必须是“http://schemas.android.com/apk/res/android”。
<item>
的菜单项。可能包含<菜单>元素(子菜单)。必须是一个<菜单>或<集团>元素的子元素。
属性:


android:id
资源ID。一个独特的资源ID。要为这个项目创建一个新的资源ID,使用以下形式:“@ + ID /名称”。加符号表示,本应作为一个新的ID来创建。
android:title
字符串资源。菜单标题字符串资源或原始字符串。
android:titleCondensed
字符串资源。缩合的标题作为一个字符串资源或原始字符串。这个标题,用于在其中正常标题过长的情况。
android:icon
绘制资源。图像以用作菜单项图标。
android:onClick
方法名。点击该菜单项时要调用的方法。该方法必须在活动中为公共申报,接受一个菜单项作为其唯一的参数,它表示点击的项目。此法优先于标准的回调onOptionsItemSelected()。看到在底部的例子。
警告:如果您混淆使用ProGuard(或类似的工具)的代码,一定要排除你从重命名该属性指定的方法,因为它可以打破的功能。


介绍了API等级11。

android:showAsAction
关键词。当这个项目应该如何显示为操作栏的操作项。只有当该活动包括一个动作条(在API级别11中引入)菜单项可以作为一个操作项出现。有效值:
值说明
ifRoom只有把这个项目在操作栏,如果有空间的。
withText还包括标题文本(由Android定义:题)与行动项目。您可以包括与别人设置一个标志之一,沿着这条价值,通过与管道分离|。
never切勿将在操作栏这个项目。
always始终放置在操作栏这个项目。避免使用此,除非它的关键,该项目始终显示在操作栏。设置多个项目始终显示为行动项目,可能会导致他们与操作栏中的其他UI重叠。
collapseActionView这个动作项目相关的操作视图(通过Android作为声明:actionLayout或Android:actionViewClass)是可折叠的。
介绍了API等级14。
请参阅操作栏开发人员指南了解更多信息。


介绍了API等级11。


android:actionLayout
布局资源。布局为动作视图中使用。
请参阅操作栏开发人员指南了解更多信息。


介绍了API等级11。


android:actionViewClass
类名。在查看一个完全限定类名作为操作视图中使用。例如,“android.widget.SearchView”使用搜索查看作为一个动作视图。
请参阅操作栏开发人员指南了解更多信息。


警告:如果您混淆使用ProGuard(或类似的工具)的代码,一定要排除你从重命名该属性指定类,因为它可以打破的功能。


介绍了API等级11。


android:actionProviderClass
类名。动作到位的项目要使用的ActionProvider完全限​​定类名。例如,“android.widget.ShareActionProvider”使用ShareActionProvider。
请参阅操作栏开发人员指南了解更多信息。


警告:如果您混淆使用ProGuard(或类似的工具)的代码,一定要排除你从重命名该属性指定类,因为它可以打破的功能。


介绍了API等级14。


android:alphabeticShortcut
字符。字符为字母快捷键。
android:numericShortcut
整数。许多有关数字快捷键。
android:checkable
布尔。 “真”如果该项目是可检查的。
android:checked
布尔。 “真”,如果该项目被默认选中。
android:visible
布尔。 “真”,如果该项目在默认情况下可见。
android:enabled
布尔。 “真”,如果该项目是默认启用的。
android:menuCategory
关键词。值对应菜单CATEGORY_ *常量,它定义了项目的优先级。有效值:
值说明
container对于作为容器的一部分的项目。
system对于由系统提供的物品。
secondary对于那些用户提供辅助(不常用)选项的项目。
alternative适用于对当前显示的数据替代行动项目。
android:orderInCategory
整数。的项目的“重要性”,在组内的顺序。
<group>
菜单组(创建共享的特征,比如他们是否可见,启用后,即可检查项目的集合)。包含一个或多个<item>元素。必须是一个<菜单>元素的子元素。
属性:


android:id
资源ID。一个独特的资源ID。要为这个项目创建一个新的资源ID,使用以下形式:“@ + ID /名称”。加符号表示,本应作为一个新的ID来创建。
android:checkableBehavior
关键词。的类型的该组可检查的行为。有效值:
值说明
none不可选中
all所有项目可以检查(使用复选框)
single的只能有一个选项进行检查(使用单选按钮)
android:visible
布尔。 “真”,如果基团是可见的。
android:enabled
布尔。 “真”如果启用该组。
android:menuCategory
关键词。值对应菜单CATEGORY_ *常量,它定义组的优先级。有效值:
值说明
container对于作为容器的一部分基团。
system对于由系统提供的基团。
secondary对于那些用户提供辅助(不常用)选项组。
alternative适用于对当前显示的数据替代行动组。
android:orderInCategory
整数。该类别内的项目的默认顺序。
例:
在保存RES /菜单/ example_menu.xml 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"
          android:showAsAction="ifRoom|withText"/>
    <group android:id="@+id/group">
        <item android:id="@+id/group_item1"
              android:onClick="onGroupItemClick"
              android:title="@string/group_item1"
              android:icon="@drawable/group_item1_icon" />
        <item android:id="@+id/group_item2"
              android:onClick="onGroupItemClick"
              android:title="@string/group_item2"
              android:icon="@drawable/group_item2_icon" />
    </group>
    <item android:id="@+id/submenu"
          android:title="@string/submenu_title"
          android:showAsAction="ifRoom|withText" >
        <menu>
            <item android:id="@+id/submenu_item1"
                  android:title="@string/submenu_item1" />
        </menu>
    </item>
</menu>
下面的应用程序代码从onCreateOptionsMenu(菜单)回调膨胀菜单,还声明上点击回调两个项目:

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.example_menu, menu);
    return true;
}

public void onGroupItemClick(MenuItem item) {
    // One of the group items (using the onClick attribute) was clicked
    // The item parameter passed here indicates which item it is
    // All other menu item clicks are handled by onOptionsItemSelected()
}
注: android:showAsAction属性仅适用于Android3.0(API等级11)和更大。

你可能感兴趣的:(java,android,api,sdk,阅读)