diff options
Diffstat (limited to 'docs/html/guide/topics/resources/menu-resource.jd')
-rw-r--r-- | docs/html/guide/topics/resources/menu-resource.jd | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/docs/html/guide/topics/resources/menu-resource.jd b/docs/html/guide/topics/resources/menu-resource.jd new file mode 100644 index 0000000..c9f27fa --- /dev/null +++ b/docs/html/guide/topics/resources/menu-resource.jd @@ -0,0 +1,207 @@ +page.title=Menu Resource +parent.title=Resource Types +parent.link=available-resources.html +@jd:body + +<div id="qv-wrapper"> + <div id="qv"> + <h2>See also</h2> + <ol> + <li><a href="{@docRoot}guide/topics/ui/menus.html">Creating Menus</a></li> + </ol> + </div> +</div> + +<p>A menu resource defines an application menu (Options Menu, Context Menu, or Sub Menu) that +can be inflated with {@link android.view.MenuInflater}.</p> + +<dl class="xml"> + +<dt>file location:</dt> +<dd><code>res/menu/<em>filename</em>.xml</code><br/> +The filename will be used as the resource ID.</dd> + +<dt>compiled resource datatype:</dt> +<dd>Resource pointer to a {@link android.view.Menu} (or subclass) resource.</dd> + +<dt>resource reference:</dt> +<dd> +In Java: <code>R.menu.<em>filename</em></code><br/> +In XML: <code>@[<em>package</em>:]menu.<em>filename</em></code> +</dd> + +<dt>syntax:</dt> +<dd> +<pre> +<?xml version="1.0" encoding="utf-8"?> +<<a href="#menu-element">menu</a> xmlns:android="http://schemas.android.com/apk/res/android"> + <<a href="#item-element">item</a> android:id="<em>resource ID</em>" + android:menuCategory=["container" | "system" | "secondary" | "alternative"] + android:orderInCategory="<em>integer</em>" + android:title="<em>string</em>" + android:titleCondensed="<em>string</em>" + android:icon="<em>drawable resource</em>" + android:alphabeticShortcut="<em>string</em>" + android:numericShortcut="<em>string</em>" + android:checkable=["true" | "false"] + android:visible=["visible" | "invisible" | "gone"] + android:enabled=["enabled" | "disabled"] /> + <<a href="#group-element">group</a> android:id="<em>resource ID</em>" + android:menuCategory=["container" | "system" | "secondary" | "alternative"] + android:orderInCategory="<em>integer</em>" + android:checkableBehavior=["none" | "all" | "single"] + android:visible=["visible" | "invisible" | "gone"] + android:enabled=["enabled" | "disabled"] > + <<a href="#item-element">item</a> /> + </group> + <<a href="#item-element">item</a> > + <<a href="#menu-element">menu</a>> + <<a href="#item-element">item</a> /> + </menu> + </item> +</menu> +</pre> +</dd> + +<dt>elements:</dt> +<dd> +<dl class="tag-list"> + + <dt id="menu-element"><code><menu></code></dt> + <dd><strong>Required.</strong> This must be the root node. Contains <code><item></code> and/or + <code><group></code> elements. + <p class="caps">attributes:</p> + <dl class="atn-list"> + <dt><code>xmlns:android</code></dt> + <dd><em>String</em>. <strong>Required.</strong> Defines the XML namespace, which must be + <code>"http://schemas.android.com/apk/res/android"</code>. + </dl> + </dd> + <dt id="group-element"><code><group></code></dt> + <dd>A menu group (to create a collection of items that share traits, such as whether they are +visible, enabled, or checkable). Contains one or more <code><item></code> elements. Must be a +child of a <code><menu></code> element. + <p class="caps">attributes:</p> + <dl class="atn-list"> + <dt><code>android:id</code></dt> + <dd><em>Resource name</em>. A unique resource name. The value takes the form: +<code>"@+id/<em>name</em>"</code>.</dd> + <dt><code>android:menuCategory</code></dt> + <dd><em>Keyword</em>. Value corresponding to {@link android.view.Menu} {@code CATEGORY_*} + constants, which define the group's priority. Valid values: + <table> + <tr><th>Value</th><th>Description</th></tr> + <tr><td><code>container</code></td><td>For groups that are part of a +container.</td></tr> + <tr><td><code>system</code></td><td>For groups that are provided by the +system.</td></tr> + <tr><td><code>secondary</code></td><td>For groups that are user-supplied secondary +(infrequently used) options.</td></tr> + <tr><td><code>alternative</code></td><td>For groups that are alternative actions +on the data that is currently displayed.</td></tr> + </table> + </dd> + <dt><code>android:orderInCategory</code></dt> + <dd><em>Integer</em>. The default order of the items within the category.</dd> + <dt><code>android:checkableBehavior</code></dt> + <dd><em>Keyword</em>. The type of checkable behavior for the group. Valid values: + <table> + <tr><th>Value</th><th>Description</th></tr> + <tr><td><code>none</code></td><td>Not checkable</td></tr> + <tr><td><code>all</code></td><td>All items can be checked (use checkboxes)</td></tr> + <tr><td><code>single</code></td><td>Only one item can be checked (use radio buttons)</td></tr> + </table> + </dd> + <dt><code>android:visible</code></dt> + <dd><em>Boolean</em>. "true" if the group is visible.</dd> + <dt><code>android:enabled</code></dt> + <dd><em>Boolean</em>. "true" if the group is enabled.</dd> + </dl> + </dd> + <dt id="item-element"><code><item></code></dt> + <dd>A menu item. May contain a <code><menu></code> element (for a Sub + Menu). Must be a child of a <code><menu></code> or <code><group></code> element. + <p class="caps">attributes:</p> + <dl class="atn-list"> + <dt><code>android:id</code></dt> + <dd><em>Resource name</em>. A unique resource name. The value takes the form: +<code>"@+id/<em>name</em>"</code>.</dd> + <dt><code>android:menuCategory</code></dt> + <dd><em>Keyword</em>. Value corresponding to {@link android.view.Menu} {@code CATEGORY_*} + constants, which define the item's priority. Valid values: + <table> + <tr><th>Value</th><th>Description</th></tr> + <tr><td><code>container</code></td><td>For items that are part of a +container.</td></tr> + <tr><td><code>system</code></td><td>For items that are provided by the +system.</td></tr> + <tr><td><code>secondary</code></td><td>For items that are user-supplied secondary +(infrequently used) options.</td></tr> + <tr><td><code>alternative</code></td><td>For items that are alternative actions +on the data that is currently displayed.</td></tr> + </table> + </dd> + <dt><code>android:orderInCategory</code></dt> + <dd><em>Integer</em>. The order of "importance" of the item, within a group.</dd> + <dt><code>android:title</code></dt> + <dd><em>String</em>. The menu title.</dd> + <dt><code>android:titleCondensed</code></dt> + <dd><em>String</em>. A condensed title, for situations in which the normal title is +too long.</dd> + <dt><code>android:icon</code></dt> + <dd><em>Drawable resource</em>. An image to be used as the menu item icon.</dd> + <dt><code>android:alphabeticShortcut</code></dt> + <dd><em>Char</em>. A character for the alphabetic shortcut key.</dd> + <dt><code>android:numericShortcut</code></dt> + <dd><em>Integer</em>. A number for the numeric shortcut key.</dd> + <dt><code>android:checkable</code></dt> + <dd><em>Boolean</em>. "true" if the item is checkable.</dd> + <dt><code>android:checked</code></dt> + <dd><em>Boolean</em>. "true" if the item is checked by default.</dd> + <dt><code>android:visible</code></dt> + <dd><em>Boolean</em>. "true" if the item is visible by default.</dd> + <dt><code>android:enabled</code></dt> + <dd><em>Boolean</em>. "true" if the item is enabled by default.</dd> + </dl> + </dd> +</dl> + +</dd> + +<dt>example:</dt> +<dd>XML file saved at <code>res/menu/example_menu.xml</code>: +<pre> +<menu xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:id="@+id/example_item" + android:title="Example Item" + android:icon="@drawable/example_item_icon" /> + <group android:id="@+id/example_group"> + <item android:id="@+id/group_item1" + android:title="Group Item 1" + android:icon="@drawable/example_item1_icon" /> + <item android:id="@+id/group_item2" + android:title="Group Item 2" + android:icon="@drawable/example_item2_icon" /> + </group> + <item android:id="@+id/submenu" + android:title="Sub Menu" > + <menu> + <item android:id="@+id/submenu_item" + android:title="Sub Menu Item" /> + </menu> + </item> +</menu> +</pre> + <p>This application code will inflate the menu from the {@link +android.app.Activity#onCreateOptionsMenu(Menu)} callback:</p> +<pre> +public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.example_menu, menu); + return true; +} +</pre> +</dd> <!-- end example --> + + +</dl>
\ No newline at end of file |