Une ressource de menu définit un menu d’application (menu d’options, menu contextuel ou sous-menu) qui peut être gonflé avec MenuInflater
.
Pour un guide d’utilisation des menus, voir le guide du développeur de menus.
Emplacement du fichier :res/menu/filename.xml
Le nom du fichier sera utilisé comme ID de la ressource. type de données de ressource compilée : Pointeur de ressource vers uneMenu
ressource (ou sous-classe). référence de ressource : En Java :R.menu.filename
En XML :@menu.filename
syntaxe : éléments :<menu>
Requis. Il doit s’agir du nœud racine. Contient des éléments<item>
et/ou<group>
.
attributs:
xmlns:android
Espace de noms XML. Obligatoire. Définit l’espace de noms XML, qui doit être"http://schemas.android.com/apk/res/android"
.<item>
Un élément de menu. Peut contenir un élément<menu>
(pour un sous-menu). Doit être un enfant d’un élément<menu>
ou<group>
.
attributs:
android:id
ID de ressource. Un ID de ressource unique. Pour créer un nouvel ID de ressource pour cet élément, utilisez le formulaire:"@+id/name"
. Le symbole plus indique que cela doit être créé comme un nouvelID.android:title
Ressource de type chaîne. Le titre du menu en tant que ressource chaîne ou chaîne brute.android:titleCondensed
Ressource de type chaîne. Un titre condensé sous la forme d’une ressource de type chaîne ou d’une chaîne brute. Ce titre est utilisé pour les situations dans lesquelles le titre normal est trop long.android:icon
Ressource dessinable. Une image à utiliser comme icône de l’élément de menu.android:onClick
Nom de la méthode. La méthode à appeler lorsque cet élément de menu est cliqué. La méthode doit être déclarée dans l’activité comme publique et accepter unMenuItem
comme seul paramètre, qui indique l’élément cliqué. Cette méthode a la priorité sur le rappel standard versonOptionsItemSelected()
. Voir l’exemple en bas de page.
Avertissement : Si vous obfusquez votre code à l’aide de ProGuard (ou d’un outil similaire),assurez-vous d’exclure la méthode que vous spécifiez dans cet attribut du renommage, car cela peut casser lafonctionnalité.
Introduit dans le niveau 11 de l’API.
android:showAsAction
Mot clé. Quand et comment cet élément doit apparaître comme élément d’action dans la barre d’application. Un élément de menu peut apparaître en tant qu’élément d’action uniquement lorsque l’activité comprend une barre d’apps. Valeurs valides :
Valeur | Description |
---|---|
ifRoom |
Ne placez cet élément dans la barre d’app que s’il y a de la place pour lui. S’il n’y a pas de place pour tous les éléments marqués "ifRoom" , les éléments ayant les valeurs orderInCategory les plus faibles sont affichés en tant qu’actions, et les autres éléments sont affichés dans le menu de débordement. |
withText |
Inclure également le texte du titre (définipar android:title ) avec l’élément d’action. Vous pouvez inclure cette valeur avec l’une des autres en tant que jeu de drapeaux, en les séparant avec un tuyau | . |
never |
Ne placez jamais cet élément dans la barre d’app. Au lieu de cela, listez l’élément dans le menu de débordement de la barre d’app. |
always |
Toujours placer cet élément dans la barre d’app.Évitez d’utiliser ceci à moins qu’il soit critique que l’élément apparaisse toujours dans la barre d’action. La définition de plusieurs éléments pour qu’ils apparaissent toujours en tant qu’éléments d’action peut entraîner leur chevauchement avec d’autres IU dans la barre d’app. |
collapseActionView |
La vue d’action associée à cet élément d’action (comme déclaré par android:actionLayout ouandroid:actionViewClass ) estcollapsible.Introduit dans le niveau 14 de l’API. |
Voir la classe de formation Ajout de la barre d’application pour plus d’informations.
Introduit dans le niveau 11 de l’API.
android:actionLayout
Ressource de mise en page. Une mise en page à utiliser comme vue d’action.
Voir Vues d’action et fournisseurs d’action pour plus d’informations.
Introduit dans l’API Niveau 11.
android:actionViewClass
Nom de classe. Un nom de classe entièrement qualifié pour leView
à utiliser comme vue d’action. Par exemple,"android.widget.SearchView"
pour utiliserSearchView
comme vue d’action.
Voir Vues d’action et fournisseurs d’action pour plus d’informations.
Avertissement : Si vous obfusquez votre code à l’aide de ProGuard (ou d’un outil similaire),assurez-vous d’exclure la classe que vous spécifiez dans cet attribut du renommage, car cela peut casser lafonctionnalité.
Introduit dans le niveau 11 de l’API.
android:actionProviderClass
Nom de classe. Un nom de classe entièrement qualifié pour leActionProvider
à utiliser à la place de l’élément d’action. Par exemple,"android.widget.ShareActionProvider"
pour utiliserShareActionProvider
.
Voir Vues d’action et fournisseurs d’action pour plus d’informations.
Avertissement : Si vous obfusquez votre code à l’aide de ProGuard (ou d’un outil similaire),veillez à exclure la classe que vous spécifiez dans cet attribut du renommage, car cela peut casser lafonctionnalité.
Introduit dans le niveau 14 de l’API.
android:alphabeticShortcut
Char. Un caractère pour la touche de raccourci alphabétique.android:numericShortcut
Integer. Un nombre pour la touche de raccourci numérique.android:alphabeticModifiers
Mot clé. Un modificateur pour le raccourci alphabétique de l’élément de menu. La valeur par défaut correspond à la touche Contrôle. Valeurs valides :
Valeur | Description |
---|---|
META |
Correspond à la clé méta Meta |
CTRL | Correspond à la méta-touche Control |
ALT | Correspond à la méta-touche Alt |
SHIFT | Correspond à la méta-touche Shift |
SYM | Correspond à la méta-touche Sym à la clé méta Sym |
FUNCTION | Correspond à la clé méta Function |
Note : Vous pouvez spécifier plusieurs mots-clés dans un attribut. Par exemple, android:alphabeticModifiers="CTRL|SHIFT"
indique que pour déclencher l’élément de menu correspondant, l’utilisateur doit appuyer sur les deux touches méta Control et Shift ainsi que sur le raccourci.
Vous pouvez utiliser la méthode setAlphabeticShortcut()
pour définir les valeurs de l’attribut de manière programmatique. Pour plus d’informations sur l’attribut alphabeticModifier
, allez à alphabeticModifiers
.
android:numericModifiers
Mot clé. Un modificateur pour le raccourci numérique de l’élément de menu. La valeur par défaut correspond à la touche Contrôle. Valeurs valides :
Valeur | Description | |
---|---|---|
META | Correspond à la clé méta Meta | |
CTRL | Correspond à la méta-touche Control | |
ALT | Correspond à la méta-touche Alt Alt | |
SHIFT | Correspond à la méta-touche Shift | |
SYM | Correspond à la méta-touche Sym | . à la clé méta Sym |
FUNCTION | Correspond à la clé méta Function |
Note : Vous pouvez spécifier plusieurs mots-clés dans un attribut. Par exemple, android:numericModifiers="CTRL|SHIFT"
indique que pour déclencher l’élément de menu correspondant, l’utilisateur doit appuyer à la fois sur les touches méta Control et Shift ainsi que sur le raccourci.
Vous pouvez utiliser la méthode setNumericShortcut()
pour définir les valeurs de l’attribut de manière programmatique. Pour plus d’informations sur l’attribut numericModifier
, allez à numericModifiers
.
android:checkable
Booléen. « true » si l’élément est vérifiable.android:checked
Booléen. « true » si l’élément est vérifiable par défaut.android:visible
Booléen. « true » si l’élément est visible par défaut.android:enabled
Booléen. « true » si l’élément est activé par défaut.android:menuCategory
Mot-clé. Valeur correspondant aux constantesMenu
CATEGORY_*
, qui définissent la priorité de l’élément. Valeurs valides :
Value | Description |
---|---|
container |
Pour les éléments qui font partie d’un conteneur. |
system |
Pour les éléments qui sont fournis par le système. |
secondary |
Pour les éléments qui sont des options secondaires (rarement utilisées) fournies par l’utilisateur. |
alternative |
Pour les éléments qui sont des actions alternatives sur les données qui sont actuellement affichées. |
android:orderInCategory
Entier. L’ordre d' »importance » de l’élément, au sein d’un groupe.<group>
Un groupe de menu (pour créer une collection d’éléments qui partagent des traits, comme le fait qu’ils soientvisibles, activés ou vérifiables). Contient un ou plusieurs éléments<item>
. Doit être l’enfant d’un élément<menu>
.
attributs:
android:id
ID de ressource. Un ID de ressource unique. Pour créer un nouvel ID de ressource pour cet élément, utilisez le formulaire:"@+id/name"
. Le symbole plus indique que cela doit être créé comme un nouvelID.android:checkableBehavior
Mot-clé. Le type de comportement vérifiable pour le groupe. Valeurs valides :
Valeur | Description |
---|---|
none |
Non vérifiable |
all |
Tous les éléments peuvent être cochés (utiliser des cases à cocher) |
single |
Un seul élément peut être coché (utiliser des boutons radio) |
android:visible
Booléen. « true » si le groupe est visible.android:enabled
Booléen. « true » si le groupe est activé.android:menuCategory
Mot-clé. Valeur correspondant aux constantesMenu
CATEGORY_*
, qui définissent la priorité du groupe. Valeurs valides :
Value | Description |
---|---|
container |
Pour les groupes qui font partie d’un conteneur. |
system |
Pour les groupes qui sont fournis par le système. |
secondary |
Pour les groupes qui sont des options secondaires (rarement utilisées) fournies par l’utilisateur. |
alternative |
Pour les groupes qui sont des actions alternatives sur les données qui sont actuellement affichées. |
android:orderInCategory
Entier. L’ordre par défaut des éléments de la catégorie. exemple : Fichier XML enregistré àres/menu/example_menu.xml
:
Le code d’application suivant gonfle le menu à partir du callback onCreateOptionsMenu(Menu)
et déclare également le on-clickcallback pour deux des éléments:
.