1f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Mainpage.title=Menu Resource
2f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Mainparent.title=Resource Types
3f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Mainparent.link=available-resources.html
4f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main@jd:body
5f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
6f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<div id="qv-wrapper">
7f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main  <div id="qv">
8f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    <h2>See also</h2>
9f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    <ol>
10b10b48f62d3cac684424e4181d4e8ec61f227e95Scott Main      <li><a href="{@docRoot}guide/topics/ui/menus.html">Menus</a></li>
11f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    </ol>
12f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main  </div>
13f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main</div>
14f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
154fe3e53e854b0056b774bfe25e3d1a2d4841aa32Scott Main<p>A menu resource defines an application menu (Options Menu, Context Menu, or submenu) that
16f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Maincan be inflated with {@link android.view.MenuInflater}.</p>
17f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
18b10b48f62d3cac684424e4181d4e8ec61f227e95Scott Main<p>For a guide to using menus, see the <a href="{@docRoot}guide/topics/ui/menus.html">Menus</a>
19b10b48f62d3cac684424e4181d4e8ec61f227e95Scott Maindeveloper guide.</p>
204fe3e53e854b0056b774bfe25e3d1a2d4841aa32Scott Main
21f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dl class="xml">
22f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
23f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dt>file location:</dt>
24f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dd><code>res/menu/<em>filename</em>.xml</code><br/>
25f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott MainThe filename will be used as the resource ID.</dd>
26f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
27f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dt>compiled resource datatype:</dt>
28f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dd>Resource pointer to a {@link android.view.Menu} (or subclass) resource.</dd>
29f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
30f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dt>resource reference:</dt>
31f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dd>
32f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott MainIn Java: <code>R.menu.<em>filename</em></code><br/>
33f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott MainIn XML: <code>@[<em>package</em>:]menu.<em>filename</em></code>
34f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main</dd>
35f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
36f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dt>syntax:</dt>
37f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dd>
38f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<pre>
39f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main&lt;?xml version="1.0" encoding="utf-8"?>
40f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main&lt;<a href="#menu-element">menu</a> xmlns:android="http://schemas.android.com/apk/res/android">
41dfe5c204403bc56c29bb36410574eab8b1950417Scott Main    &lt;<a href="#item-element">item</a> android:id="@[+][<em>package</em>:]id/<em>resource_name</em>"
42f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          android:title="<em>string</em>"
43f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          android:titleCondensed="<em>string</em>"
44c6cb8a78d03cda44a49a990b4d4153560bee7420Scott Main          android:icon="@[package:]drawable/<em>drawable_resource_name</em>"
4514711b2b420e034cf1050d3cb887e4735792e080Scott Main          android:onClick="<em>method name</em>"
46feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Main          android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]
4714711b2b420e034cf1050d3cb887e4735792e080Scott Main          android:actionLayout="@[package:]layout/<em>layout_resource_name</em>"
4814711b2b420e034cf1050d3cb887e4735792e080Scott Main          android:actionViewClass="<em>class name</em>"
49feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Main          android:actionProviderClass="<em>class name</em>"
50f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          android:alphabeticShortcut="<em>string</em>"
51f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          android:numericShortcut="<em>string</em>"
52f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          android:checkable=["true" | "false"]
537017c94249f7d27643fefd242e9faf9e53ce986eScott Main          android:visible=["true" | "false"]
5441703766815918c96fa0f45c6f27a29a0865846aScott Main          android:enabled=["true" | "false"]
550f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          android:menuCategory=["container" | "system" | "secondary" | "alternative"]
560f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          android:orderInCategory="<em>integer</em>" /&gt;
57dfe5c204403bc56c29bb36410574eab8b1950417Scott Main    &lt;<a href="#group-element">group</a> android:id="@[+][<em>package</em>:]id/<em>resource name</em>"
58f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main           android:checkableBehavior=["none" | "all" | "single"]
597017c94249f7d27643fefd242e9faf9e53ce986eScott Main           android:visible=["true" | "false"]
6041703766815918c96fa0f45c6f27a29a0865846aScott Main           android:enabled=["true" | "false"]
610f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main           android:menuCategory=["container" | "system" | "secondary" | "alternative"]
620f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main           android:orderInCategory="<em>integer</em>" &gt;
63f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        &lt;<a href="#item-element">item</a> /&gt;
64f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    &lt;/group&gt;
65f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    &lt;<a href="#item-element">item</a> &gt;
66f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        &lt;<a href="#menu-element">menu</a>&gt;
67f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          &lt;<a href="#item-element">item</a> /&gt;
68f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        &lt;/menu&gt;
69f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    &lt;/item&gt;
70f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main&lt;/menu&gt;
71f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main</pre>
72f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main</dd>
73f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
74f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dt>elements:</dt>
75f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dd>
76f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dl class="tag-list">
77f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
78f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main  <dt id="menu-element"><code>&lt;menu&gt;</code></dt>
79f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    <dd><strong>Required.</strong> This must be the root node. Contains <code>&lt;item></code> and/or
80f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main      <code>&lt;group></code> elements.
81f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main      <p class="caps">attributes:</p>
82f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main      <dl class="atn-list">
83f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dt><code>xmlns:android</code></dt>
8414711b2b420e034cf1050d3cb887e4735792e080Scott Main          <dd><em>XML namespace</em>. <strong>Required.</strong> Defines the XML namespace, which
8514711b2b420e034cf1050d3cb887e4735792e080Scott Mainmust be <code>"http://schemas.android.com/apk/res/android"</code>.
86f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main      </dl>
87f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    </dd>
880f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main
890f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main  <dt id="item-element"><code>&lt;item&gt;</code></dt>
900f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main    <dd>A menu item. May contain a <code>&lt;menu&gt;</code> element (for a Sub
910f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main      Menu). Must be a child of a <code>&lt;menu&gt;</code> or <code>&lt;group&gt;</code> element.
92f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main      <p class="caps">attributes:</p>
93f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main      <dl class="atn-list">
94f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dt><code>android:id</code></dt>
95dfe5c204403bc56c29bb36410574eab8b1950417Scott Main        <dd><em>Resource ID</em>. A unique resource ID. To create a new resource ID for this item, use the form:
960f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main<code>"@+id/<em>name</em>"</code>. The plus symbol indicates that this should be created as a new
970f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott MainID.</dd>
980f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dt><code>android:title</code></dt>
9914711b2b420e034cf1050d3cb887e4735792e080Scott Main          <dd><em>String resource</em>. The menu title as a string resource or raw string.</dd>
1000f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dt><code>android:titleCondensed</code></dt>
10114711b2b420e034cf1050d3cb887e4735792e080Scott Main          <dd><em>String resource</em>. A condensed title as a string resource or a raw string. This
10214711b2b420e034cf1050d3cb887e4735792e080Scott Maintitle is used for situations in which the normal title is too long.</dd>
10314711b2b420e034cf1050d3cb887e4735792e080Scott Main
1040f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dt><code>android:icon</code></dt>
1050f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          <dd><em>Drawable resource</em>. An image to be used as the menu item icon.</dd>
1060f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main
10714711b2b420e034cf1050d3cb887e4735792e080Scott Main        <dt><code>android:onClick</code></dt>
10814711b2b420e034cf1050d3cb887e4735792e080Scott Main          <dd><em>Method name</em>. The method to call when this menu item is clicked. The
10914711b2b420e034cf1050d3cb887e4735792e080Scott Mainmethod must be declared in the activity as public and accept a {@link android.view.MenuItem} as its
11014711b2b420e034cf1050d3cb887e4735792e080Scott Mainonly parameter, which indicates the item clicked. This method takes precedence over the standard
11114711b2b420e034cf1050d3cb887e4735792e080Scott Maincallback to {@link android.app.Activity#onOptionsItemSelected onOptionsItemSelected()}. See the
11214711b2b420e034cf1050d3cb887e4735792e080Scott Mainexample at the bottom.
11314711b2b420e034cf1050d3cb887e4735792e080Scott Main          <p class="warning"><strong>Warning:</strong> If you obfuscate your code using <a
11450e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Mainhref="{@docRoot}tools/help/proguard.html">ProGuard</a> (or a similar tool),
11514711b2b420e034cf1050d3cb887e4735792e080Scott Mainbe sure to exclude the method you specify in this attribute from renaming, because it can break the
11614711b2b420e034cf1050d3cb887e4735792e080Scott Mainfunctionality.</p>
1174fe3e53e854b0056b774bfe25e3d1a2d4841aa32Scott Main          <p>Introduced in API Level 11.</p></dd>
11814711b2b420e034cf1050d3cb887e4735792e080Scott Main
1190f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dt><code>android:showAsAction</code></dt>
1200f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          <dd><em>Keyword</em>. When and how this item should appear as an action item in the Action
1210f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott MainBar. A menu item can appear as an action item only when the activity includes an {@link
1224fe3e53e854b0056b774bfe25e3d1a2d4841aa32Scott Mainandroid.app.ActionBar} (introduced in API Level 11). Valid values:
1230f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          <table>
1240f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><th>Value</th><th>Description</th></tr>
1250f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>ifRoom</code></td><td>Only place this item in the Action Bar if
1260f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Mainthere is room for it.</td></tr>
1270f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>withText</code></td><td>Also include the title text (defined
1280f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Mainby {@code android:title}) with the action item. You can include this value along with one
1290f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Mainof the others as a flag set, by separating them with a pipe {@code |}.</td></tr>
1300f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>never</code></td><td>Never place this item in the Action Bar.</td></tr>
1310f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>always</code></td><td>Always place this item in the Action Bar.
1320f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott MainAvoid using this unless it's critical that the item always appear in the action
1330f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Mainbar. Setting multiple items to always appear as action items can result in them overlapping
1340f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Mainwith other UI in the action bar.</td></tr>
135feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Main            <tr><td><code>collapseActionView</code></td><td>The action view associated
13650e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Mainwith this action item (as declared by <code>android:actionLayout</code> or
13750e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main<code>android:actionViewClass</code>) is
138feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Maincollapsible.<br/>Introduced in API Level 14.</td></tr>
1390f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          </table>
140b10b48f62d3cac684424e4181d4e8ec61f227e95Scott Main          <p>See the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer 
141b10b48f62d3cac684424e4181d4e8ec61f227e95Scott Mainguide for more information.</p>
1424fe3e53e854b0056b774bfe25e3d1a2d4841aa32Scott Main          <p>Introduced in API Level 11.</p>
1430f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        </dd>
1440f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main
14550e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Main        <dt><code>android:actionLayout</code></dt>
14614711b2b420e034cf1050d3cb887e4735792e080Scott Main          <dd><em>Layout resource</em>. A layout to use as the action view.
147b10b48f62d3cac684424e4181d4e8ec61f227e95Scott Main          <p>See the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer 
148b10b48f62d3cac684424e4181d4e8ec61f227e95Scott Mainguide for more information.</p>
1494fe3e53e854b0056b774bfe25e3d1a2d4841aa32Scott Main          <p>Introduced in API Level 11.</p></dd>
15014711b2b420e034cf1050d3cb887e4735792e080Scott Main
151feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Main        <dt><code>android:actionViewClass</code></dt>
15214711b2b420e034cf1050d3cb887e4735792e080Scott Main          <dd><em>Class name</em>. A fully-qualified class name for the {@link android.view.View}
153feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Mainto use as the action view. For example,
154feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Main{@code "android.widget.SearchView"} to use {@link android.widget.SearchView} as an action view.
155b10b48f62d3cac684424e4181d4e8ec61f227e95Scott Main          <p>See the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer 
156b10b48f62d3cac684424e4181d4e8ec61f227e95Scott Mainguide for more information.</p>
15714711b2b420e034cf1050d3cb887e4735792e080Scott Main          <p class="warning"><strong>Warning:</strong> If you obfuscate your code using <a
15850e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Mainhref="{@docRoot}tools/help/proguard.html">ProGuard</a> (or a similar tool),
15914711b2b420e034cf1050d3cb887e4735792e080Scott Mainbe sure to exclude the class you specify in this attribute from renaming, because it can break the
16014711b2b420e034cf1050d3cb887e4735792e080Scott Mainfunctionality.</p>
1614fe3e53e854b0056b774bfe25e3d1a2d4841aa32Scott Main          <p>Introduced in API Level 11.</p></dd>
16214711b2b420e034cf1050d3cb887e4735792e080Scott Main
163feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Main        <dt><code>android:actionProviderClass</code></dt>
164feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Main          <dd><em>Class name</em>. A fully-qualified class name for the {@link
165feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Mainandroid.view.ActionProvider} to use in place of the action item. For example,
166feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Main{@code "android.widget.ShareActionProvider"} to use {@link android.widget.ShareActionProvider}.
167feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Main          <p>See the <a href="{@docRoot}guide/topics/ui/actionbar.html">Action Bar</a> developer
168feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Mainguide for more information.</p>
169feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Main          <p class="warning"><strong>Warning:</strong> If you obfuscate your code using <a
17050e990c64fa23ce94efa76b9e72df7f8ec3cee6aScott Mainhref="{@docRoot}tools/help/proguard.html">ProGuard</a> (or a similar tool),
171feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Mainbe sure to exclude the class you specify in this attribute from renaming, because it can break the
172feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Mainfunctionality.</p>
173feef62bc32ef6dfacd1cd1993156fe070cbe33b6Scott Main          <p>Introduced in API Level 14.</p></dd>
17414711b2b420e034cf1050d3cb887e4735792e080Scott Main
1750f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dt><code>android:alphabeticShortcut</code></dt>
1760f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          <dd><em>Char</em>. A character for the alphabetic shortcut key.</dd>
1770f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dt><code>android:numericShortcut</code></dt>
1780f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          <dd><em>Integer</em>. A number for the numeric shortcut key.</dd>
1790f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dt><code>android:checkable</code></dt>
1800f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          <dd><em>Boolean</em>. "true" if the item is checkable.</dd>
1810f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dt><code>android:checked</code></dt>
1820f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          <dd><em>Boolean</em>. "true" if the item is checked by default.</dd>
1830f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dt><code>android:visible</code></dt>
1840f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          <dd><em>Boolean</em>. "true" if the item is visible by default.</dd>
1850f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dt><code>android:enabled</code></dt>
1860f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          <dd><em>Boolean</em>. "true" if the item is enabled by default.</dd>
187f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dt><code>android:menuCategory</code></dt>
188f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          <dd><em>Keyword</em>. Value corresponding to {@link android.view.Menu} {@code CATEGORY_*}
1890f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          constants, which define the item's priority. Valid values:
190f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          <table>
191f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main            <tr><th>Value</th><th>Description</th></tr>
1920f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>container</code></td><td>For items that are part of a
193f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Maincontainer.</td></tr>
1940f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>system</code></td><td>For items that are provided by the
195f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Mainsystem.</td></tr>
1960f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>secondary</code></td><td>For items that are user-supplied secondary
197f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main(infrequently used) options.</td></tr>
1980f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>alternative</code></td><td>For items that are alternative actions
199f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Mainon the data that is currently displayed.</td></tr>
200f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          </table>
201f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        </dd>
202f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dt><code>android:orderInCategory</code></dt>
2030f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          <dd><em>Integer</em>. The order of "importance" of the item, within a group.</dd>
2040f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main      </dl>
2050f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main    </dd>
2060f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main
2070f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main  <dt id="group-element"><code>&lt;group&gt;</code></dt>
2080f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main    <dd>A menu group (to create a collection of items that share traits, such as whether they are
2090f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Mainvisible, enabled, or checkable). Contains one or more <code>&lt;item&gt;</code> elements. Must be a
2100f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Mainchild of a <code>&lt;menu&gt;</code> element.
2110f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main      <p class="caps">attributes:</p>
2120f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main      <dl class="atn-list">
2130f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dt><code>android:id</code></dt>
2140f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dd><em>Resource ID</em>. A unique resource ID. To create a new resource ID for this item,
2150f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Mainuse the form:
2160f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main<code>"@+id/<em>name</em>"</code>. The plus symbol indicates that this should be created as a new
2170f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott MainID.</dd>
218f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dt><code>android:checkableBehavior</code></dt>
219f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dd><em>Keyword</em>. The type of checkable behavior for the group. Valid values:
220f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          <table>
221f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main            <tr><th>Value</th><th>Description</th></tr>
222f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main            <tr><td><code>none</code></td><td>Not checkable</td></tr>
223f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main            <tr><td><code>all</code></td><td>All items can be checked (use checkboxes)</td></tr>
2240f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>single</code></td><td>Only one item can be checked (use radio
2250f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Mainbuttons)</td></tr>
226f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          </table>
227f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        </dd>
228f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dt><code>android:visible</code></dt>
229f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dd><em>Boolean</em>. "true" if the group is visible.</dd>
230f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dt><code>android:enabled</code></dt>
231f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dd><em>Boolean</em>. "true" if the group is enabled.</dd>
232f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dt><code>android:menuCategory</code></dt>
233f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          <dd><em>Keyword</em>. Value corresponding to {@link android.view.Menu} {@code CATEGORY_*}
2340f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          constants, which define the group's priority. Valid values:
235f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          <table>
236f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main            <tr><th>Value</th><th>Description</th></tr>
2370f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>container</code></td><td>For groups that are part of a
238f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Maincontainer.</td></tr>
2390f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>system</code></td><td>For groups that are provided by the
240f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Mainsystem.</td></tr>
2410f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>secondary</code></td><td>For groups that are user-supplied secondary
242f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main(infrequently used) options.</td></tr>
2430f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main            <tr><td><code>alternative</code></td><td>For groups that are alternative actions
244f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Mainon the data that is currently displayed.</td></tr>
245f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main          </table>
246f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        </dd>
247f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        <dt><code>android:orderInCategory</code></dt>
2480f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main        <dd><em>Integer</em>. The default order of the items within the category.</dd>
249f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main      </dl>
250f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    </dd>
251f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main</dl>
252f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
253f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main</dd>
254f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
255f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dt>example:</dt>
256f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<dd>XML file saved at <code>res/menu/example_menu.xml</code>:
257f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<pre>
258f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main&lt;menu xmlns:android="http://schemas.android.com/apk/res/android">
259c6cb8a78d03cda44a49a990b4d4153560bee7420Scott Main    &lt;item android:id="@+id/item1"
260c6cb8a78d03cda44a49a990b4d4153560bee7420Scott Main          android:title="@string/item1"
2610f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          android:icon="@drawable/group_item1_icon"
2620f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          android:showAsAction="ifRoom|withText"/>
263c6cb8a78d03cda44a49a990b4d4153560bee7420Scott Main    &lt;group android:id="@+id/group">
264f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        &lt;item android:id="@+id/group_item1"
26514711b2b420e034cf1050d3cb887e4735792e080Scott Main              android:onClick="onGroupItemClick"
266c6cb8a78d03cda44a49a990b4d4153560bee7420Scott Main              android:title="@string/group_item1"
267c6cb8a78d03cda44a49a990b4d4153560bee7420Scott Main              android:icon="@drawable/group_item1_icon" />
268f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        &lt;item android:id="@+id/group_item2"
26914711b2b420e034cf1050d3cb887e4735792e080Scott Main              android:onClick="onGroupItemClick"
2702785443c6e93c05a4885f4eeb76b12dd8c0e59b5Scott Main              android:title="@string/group_item2"
271c6cb8a78d03cda44a49a990b4d4153560bee7420Scott Main              android:icon="@drawable/group_item2_icon" />
272f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    &lt;/group>
273f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    &lt;item android:id="@+id/submenu"
2740f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          android:title="@string/submenu_title"
2750f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main          android:showAsAction="ifRoom|withText" >
276f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        &lt;menu>
277c6cb8a78d03cda44a49a990b4d4153560bee7420Scott Main            &lt;item android:id="@+id/submenu_item1"
278c6cb8a78d03cda44a49a990b4d4153560bee7420Scott Main                  android:title="@string/submenu_item1" />
279f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main        &lt;/menu>
280f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main    &lt;/item>
281f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main&lt;/menu>
282f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main</pre>
28314711b2b420e034cf1050d3cb887e4735792e080Scott Main    <p>The following application code inflates the menu from the {@link
28414711b2b420e034cf1050d3cb887e4735792e080Scott Mainandroid.app.Activity#onCreateOptionsMenu(Menu)} callback and also declares the on-click
28514711b2b420e034cf1050d3cb887e4735792e080Scott Maincallback for two of the items:</p>
286f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main<pre>
287f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Mainpublic boolean onCreateOptionsMenu(Menu menu) {
28814711b2b420e034cf1050d3cb887e4735792e080Scott Main    MenuInflater inflater = getMenuInflater();
28914711b2b420e034cf1050d3cb887e4735792e080Scott Main    inflater.inflate(R.menu.example_menu, menu);
29014711b2b420e034cf1050d3cb887e4735792e080Scott Main    return true;
29114711b2b420e034cf1050d3cb887e4735792e080Scott Main}
29214711b2b420e034cf1050d3cb887e4735792e080Scott Main
29314711b2b420e034cf1050d3cb887e4735792e080Scott Mainpublic void onGroupItemClick(MenuItem item) {
29414711b2b420e034cf1050d3cb887e4735792e080Scott Main    // One of the group items (using the onClick attribute) was clicked
29514711b2b420e034cf1050d3cb887e4735792e080Scott Main    // The item parameter passed here indicates which item it is
29614711b2b420e034cf1050d3cb887e4735792e080Scott Main    // All other menu item clicks are handled by {@link android.app.Activity#onOptionsItemSelected onOptionsItemSelected()}
297f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main}
298f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main</pre>
2990f6f51879cf6fbb6e21e7f6e3ffd2625c5a9a5f6Scott Main<p class="note"><strong>Note:</strong> The {@code android:showAsAction} attribute is
3004fe3e53e854b0056b774bfe25e3d1a2d4841aa32Scott Mainavailable only on Android 3.0 (API Level 11) and greater.</p>
301f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main</dd> <!-- end example -->
302f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
303f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main
304f940a1f316ddbed760f6f3ab9a3e4f2112909381Scott Main</dl>