Un recurso de menú define un menú de aplicación (menú de opciones, menú contextual o submenú) que se puede inflar con MenuInflater.
Para obtener una guía sobre el uso de los menús, consulte la guía del desarrollador de menús.
Ubicación del archivo:res/menu/filename.xml
El nombre del archivo se utilizará como el ID del recurso. tipo de datos del recurso compilado: Puntero de recurso a un recursoMenu(o subclase). referencia de recurso: En Java:R.menu.filename
En XML:@menu.filenamesintaxis: elementos:<menu>Obligatorio. Debe ser el nodo raíz. Contiene elementos<item>y/o<group>.
attributes:
xmlns:androidEspacio de nombres XML. Obligatorio. Define el espacio de nombres XML, que debe ser"http://schemas.android.com/apk/res/android".<item>Un elemento de menú. Puede contener un elemento<menu>(para un submenú). Debe ser hijo de un elemento<menu>o<group>.
attributes:
android:idID de recurso. Un ID de recurso único. Para crear un nuevo ID de recurso para este elemento, utilice la forma:"@+id/name". El símbolo más indica que esto debe ser creado como un newID.android:titleRecurso de cadena. El título del menú como un recurso de cadena o cadena cruda.android:titleCondensedRecurso de cadena. El título condensado como recurso de cadena o cadena sin procesar. Este título se utiliza para situaciones en las que el título normal es demasiado largo.android:iconRecurso dibujable. Una imagen que se utilizará como icono del elemento de menú.android:onClickNombre del método. El método a llamar cuando se hace clic en este elemento de menú. El método debe ser declarado en la actividad como público y aceptar unMenuItemcomo único parámetro, que indica el elemento sobre el que se ha hecho clic. Este método tiene prioridad sobre la devolución estándar aonOptionsItemSelected(). Ver el ejemplo en la parte inferior.
Atención: Si ofusca su código utilizando ProGuard (o una herramienta similar), asegúrese de excluir el método que especifica en este atributo del cambio de nombre, porque puede romper la funcionalidad.
Introducido en el nivel 11 de la API.
android:showAsActionPalabra clave. Cuándo y cómo debe aparecer este elemento como elemento de acción en la barra de aplicaciones. Un elemento de menú puede aparecer como elemento de acción sólo cuando la actividad incluye una barra de aplicaciones. Valores válidos:
| Valor | Descripción |
|---|---|
ifRoom |
Coloque este elemento en la barra de aplicaciones sólo si hay espacio para él. Si no hay espacio para todos los elementos marcados con "ifRoom", los elementos con los valores orderInCategory más bajos se muestran como acciones, y los elementos restantes se muestran en el menú de desbordamiento. |
withText |
Incluya también el texto del título (definido por android:title) con el elemento de acción. Puede incluir este valor junto con uno de los otros como un conjunto de banderas, separándolos con una tubería |. |
never |
Nunca coloque este elemento en la barra de aplicaciones. En su lugar, incluya el elemento en el menú de desbordamiento de la barra de aplicaciones. |
always |
Coloque siempre este elemento en la barra de aplicaciones.Evite utilizarlo a menos que sea fundamental que el elemento aparezca siempre en la barra de acciones. Configurar varios elementos para que aparezcan siempre como elementos de acción puede dar lugar a que se superpongan con otra interfaz de usuario en la barra de aplicaciones. |
collapseActionView |
La vista de acción asociada a este elemento de acción (según lo declarado por android:actionLayout oandroid:actionViewClass) es plegable.Introducido en el nivel 14 de la API. |
Vea la clase de formación Añadir la barra de aplicaciones para obtener más información.
Introducido en el nivel 11 de la API.
android:actionLayoutRecurso de diseño. Un diseño para utilizar como la vista de acción.
Véase Vistas de acción y proveedores de acción para obtener más información.
Introducido en el nivel 11 de la API.
android:actionViewClassNombre de la clase. Un nombre de clase completamente calificado para laViewa utilizar como la vista de acción. Por ejemplo,"android.widget.SearchView"para usarSearchViewcomo vista de acción.
Vea Vistas de Acción y Proveedores de Acción para más información.
Atención: Si ofusca su código utilizando ProGuard (o una herramienta similar), asegúrese de excluir la clase que especifica en este atributo del cambio de nombre, porque puede romper la funcionalidad.
Introducido en el nivel 11 de la API.
android:actionProviderClassNombre de la clase. Un nombre de clase completamente calificado para elActionProvidera utilizar en lugar del elemento de acción. Por ejemplo,"android.widget.ShareActionProvider"para utilizarShareActionProvider.
Vea Vistas de Acción y Proveedores de Acción para más información.
Atención: Si ofusca su código utilizando ProGuard (o una herramienta similar),asegúrese de excluir la clase que especifica en este atributo del renombramiento, porque puede romper la funcionalidad.
Introducido en el nivel 14 de la API.
android:alphabeticShortcutChar. Un carácter para la tecla de acceso directo alfabético.android:numericShortcutInteger. Un número para la tecla de acceso directo numérico.android:alphabeticModifiersPalabra clave. Un modificador para el atajo alfabético del elemento de menú. El valor por defecto corresponde a la tecla Control. Valores válidos:
| Valor | Descripción |
|---|---|
META |
Corresponde a la meta tecla |
| CTRL | Corresponde a la meta tecla Control |
| ALT | Corresponde a la meta tecla Alt |
| SHIFT | Corresponde a la meta tecla Shift |
| SYM | Corresponde a la metatecla Sym |
| FUNCIÓN | Corresponde a la metatecla Función |
Nota: Puede especificar varias palabras clave en un atributo. Por ejemplo, android:alphabeticModifiers="CTRL|SHIFT"indica que para activar el elemento de menú correspondiente, el usuario debe pulsar las meta teclas Control y Mayúsculas junto con el acceso directo.
Puede utilizar el método setAlphabeticShortcut()para establecer los valores del atributo mediante programación. Para más información sobre el atributo alphabeticModifier, vaya a alphabeticModifiers.
android:numericModifiers
Palabra clave. Un modificador para el atajo numérico del elemento de menú. El valor por defecto corresponde a la tecla Control. Valores válidos:
| Valor | Descripción |
|---|---|
| META | Corresponde a la meta tecla |
| CTRL | Corresponde a la meta tecla Control |
| ALT | Corresponde a la meta tecla Alt |
| SHIFT | Corresponde a la meta tecla Shift |
| SYM | Corresponde a la meta tecla Sym |
| FUNCIÓN | Corresponde a la meta tecla Función |
Nota: Puede especificar varias palabras clave en un atributo. Por ejemplo, android:numericModifiers="CTRL|SHIFT"indica que para activar el elemento de menú correspondiente, el usuario debe pulsar las meta teclas Control y Mayúsculas junto con el atajo.
Puede utilizar el método setNumericShortcut()para establecer los valores del atributo mediante programación. Para más información sobre el atributo numericModifier, vaya a numericModifiers.
android:checkableBooleano. «true» si el elemento es comprobable.android:checkedBooleano. «true» si el elemento es comprobable por defecto.android:visibleBooleano. «true» si el ítem es visible por defecto.android:enabledBooleano. «true» si el elemento está habilitado por defecto.android:menuCategoryPalabra clave. Valor correspondiente a las constantesMenuCATEGORY_*, que definen la prioridad del elemento. Valores válidos:
| Valor | Descripción |
|---|---|
container |
Para los elementos que forman parte de un contenedor. |
system |
Para los elementos que proporciona el sistema. |
secondary |
Para los elementos que son opciones secundarias (de uso poco frecuente) proporcionadas por el usuario. |
alternative |
Para los elementos que son acciones alternativas sobre los datos que se muestran actualmente. |
android:orderInCategoryEntero. El orden de «importancia» del elemento, dentro de un grupo.<group>Un grupo de menús (para crear una colección de elementos que comparten rasgos, como si son visibles, habilitados o comprobables). Contiene uno o más elementos<item>. Debe ser hijo de un elemento<menu>.
attributes:
android:idID de recurso. Un ID de recurso único. Para crear un nuevo ID de recurso para este elemento, utilice la forma:"@+id/name". El símbolo más indica que debe crearse como un nuevo ID.android:checkableBehaviorPalabra clave. El tipo de comportamiento comprobable para el grupo. Valores válidos:
| Valor | Descripción |
|---|---|
none |
No comprobable |
all |
Todos los elementos se pueden marcar (usar casillas de verificación) |
single |
Sólo se puede marcar un elemento (usar radiobotones) |
android:visibleBooleano. «true» si el grupo es visible.android:enabledBooleano. «true» si el grupo está habilitado.android:menuCategoryPalabra clave. Valor correspondiente a las constantesMenuCATEGORY_*que definen la prioridad del grupo. Valores válidos:
| Valor | Descripción |
|---|---|
container |
Para los grupos que forman parte de un contenedor. |
system |
Para los grupos que proporciona el sistema. |
secondary |
Para los grupos que son opciones secundarias (de uso poco frecuente) proporcionadas por el usuario. |
alternative |
Para los grupos que son acciones alternativas sobre los datos que se muestran actualmente. |
android:orderInCategoryEntero. El orden por defecto de los elementos dentro de la categoría. ejemplo: Archivo XML guardado enres/menu/example_menu.xml:
El siguiente código de aplicación infla el menú desde la devolución de llamada onCreateOptionsMenu(Menu) y también declara la devolución de llamada al hacer clic para dos de los elementos: