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.filename
sintaxis: elementos:<menu>
Obligatorio. Debe ser el nodo raíz. Contiene elementos<item>
y/o<group>
.
attributes:
xmlns:android
Espacio 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:id
ID 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:title
Recurso de cadena. El título del menú como un recurso de cadena o cadena cruda.android:titleCondensed
Recurso 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:icon
Recurso dibujable. Una imagen que se utilizará como icono del elemento de menú.android:onClick
Nombre 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 unMenuItem
como ú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:showAsAction
Palabra 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:actionLayout
Recurso 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:actionViewClass
Nombre de la clase. Un nombre de clase completamente calificado para laView
a utilizar como la vista de acción. Por ejemplo,"android.widget.SearchView"
para usarSearchView
como 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:actionProviderClass
Nombre de la clase. Un nombre de clase completamente calificado para elActionProvider
a 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:alphabeticShortcut
Char. Un carácter para la tecla de acceso directo alfabético.android:numericShortcut
Integer. Un número para la tecla de acceso directo numérico.android:alphabeticModifiers
Palabra 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:checkable
Booleano. «true» si el elemento es comprobable.android:checked
Booleano. «true» si el elemento es comprobable por defecto.android:visible
Booleano. «true» si el ítem es visible por defecto.android:enabled
Booleano. «true» si el elemento está habilitado por defecto.android:menuCategory
Palabra clave. Valor correspondiente a las constantesMenu
CATEGORY_*
, 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:orderInCategory
Entero. 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:id
ID 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:checkableBehavior
Palabra 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:visible
Booleano. «true» si el grupo es visible.android:enabled
Booleano. «true» si el grupo está habilitado.android:menuCategory
Palabra clave. Valor correspondiente a las constantesMenu
CATEGORY_*
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:orderInCategory
Entero. 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: