Una risorsa menu definisce un menu dell’applicazione (menu opzioni, menu contestuale o sottomenu) che può essere gonfiato con MenuInflater
.
Per una guida all’uso dei menu, vedere la guida per sviluppatori di menu.
Posizione del file:res/menu/filename.xml
Il nome del file sarà usato come ID della risorsa. risorsa compilata datatype: Puntatore a una risorsaMenu
(o sottoclasse). riferimento alla risorsa: In Java:R.menu.filename
In XML:@menu.filename
sintassi: elementi:<menu>
Richiesto. Questo deve essere il nodo radice. Contiene<item>
e/o<group>
elementi.
attributi:
xmlns:android
Spazio dei nomi XML. Richiesto. Definisce lo spazio dei nomi XML, che deve essere"http://schemas.android.com/apk/res/android"
.<item>
Un elemento di menu. Può contenere un elemento<menu>
(per un sotto menu). Deve essere un figlio di un elemento<menu>
o<group>
.
attributi:
android:id
ID risorsa. Un ID di risorsa unico. Per creare un nuovo ID risorsa per questo elemento, usa la forma:"@+id/name"
. Il simbolo più indica che questo dovrebbe essere creato come un nuovo ID.android:title
Risorsa stringa. Il titolo del menu come risorsa stringa o stringa grezza.android:titleCondensed
Risorsa stringa. Un titolo condensato come risorsa stringa o stringa grezza. Questo titolo è usato per situazioni in cui il titolo normale è troppo lungo.android:icon
Risorsa disegnabile. Un’immagine da usare come icona della voce di menu.android:onClick
Nome del metodo. Il metodo da chiamare quando questa voce di menu viene cliccata. Il metodo deve essere dichiarato nell’attività come pubblico e accettare unMenuItem
come unico parametro, che indica la voce cliccata. Questo metodo ha la precedenza sul callback standard aonOptionsItemSelected()
. Vedere l’esempio in basso.
Attenzione: Se offuscate il vostro codice usando ProGuard (o uno strumento simile), assicuratevi di escludere il metodo che specificate in questo attributo dalla ridenominazione, perché può interrompere la funzionalità.
Introdotto in API Level 11.
android:showAsAction
Parola chiave. Quando e come questo elemento dovrebbe apparire come un elemento di azione nella barra dell’applicazione. Una voce di menu può apparire come elemento di azione solo quando l’attività include un’app bar. Valori validi:
Valore | Descrizione |
---|---|
ifRoom |
Metti questa voce nella barra delle applicazioni solo se c’è spazio per essa. Se non c’è spazio per tutti gli elementi marcati "ifRoom" , gli elementi con i valori più bassi orderInCategory sono visualizzati come azioni, e gli elementi rimanenti sono visualizzati nel menu di overflow. |
withText |
Includete anche il testo del titolo (definito da android:title ) con l’elemento azione. Puoi includere questo valore insieme a uno degli altri come set di flag, separandoli con una pipe | . |
never |
Non mettere mai questo elemento nell’app bar. Invece, elenca l’elemento nel menu di overflow della barra delle applicazioni. |
always |
Posiziona sempre questo elemento nella barra delle applicazioni.Evita di usarlo a meno che sia fondamentale che l’elemento appaia sempre nella barra delle azioni. Impostare più elementi per apparire sempre come elementi d’azione può risultare in una loro sovrapposizione con altre UI nella barra delle applicazioni. |
collapseActionView |
La vista azione associata a questo elemento d’azione (come dichiarato da android:actionLayout oandroid:actionViewClass ) è pieghevole.Introdotto nel livello API 14. |
Vedi la classe di addestramento Adding the App Bar per maggiori informazioni.
Introdotto nel livello API 11.
android:actionLayout
Risorsa Layout. Un layout da usare come vista dell’azione.
Vedi Action Views e Action Provider per maggiori informazioni.
Introdotto nel livello 11 delle API.
android:actionViewClass
Nome della classe. Un nome di classe completamente qualificato per laView
visualizzazione dell’azione. Per esempio,"android.widget.SearchView"
per usareSearchView
come vista d’azione.
Vedi Action Views e Action Provider per maggiori informazioni.
Attenzione: Se offuscate il vostro codice usando ProGuard (o uno strumento simile), assicuratevi di escludere la classe che specificate in questo attributo dalla ridenominazione, perché può interrompere la funzionalità.
Introdotto in API Level 11.
android:actionProviderClass
Class name. Un nome di classe completamente qualificato per ilActionProvider
da usare al posto dell’elemento di azione. Per esempio,"android.widget.ShareActionProvider"
per usareShareActionProvider
.
Vedi Action Views e Action Provider per maggiori informazioni.
Attenzione: Se offuscate il vostro codice usando ProGuard (o uno strumento simile), assicuratevi di escludere la classe che specificate in questo attributo dalla ridenominazione, perché può interrompere la funzionalità.
Introdotto in API Level 14.
android:alphabeticShortcut
Char. Un carattere per la chiave di scelta rapida alfabetica.android:numericShortcut
Integer. Un numero per il tasto di scelta rapida numerico.android:alphabeticModifiers
Parola chiave. Un modificatore per la scorciatoia alfabetica della voce di menu. Il valore predefinito corrisponde al tasto Control. Valori validi:
Valore | Descrizione |
---|---|
META |
Corrisponde al meta tasto Meta |
CTRL | Corrisponde al meta tasto Control |
ALT | Corrisponde al meta tasto Alt |
SHIFT | Corrisponde al metatasto Shift |
SYM | Corrisponde alla meta chiave Sym |
FUNCTION | Corrisponde alla meta chiave Function |
Nota: Puoi specificare più parole chiave in un attributo. Per esempio, android:alphabeticModifiers="CTRL|SHIFT"
indica che per attivare la voce di menu corrispondente, l’utente deve premere entrambi i meta tasti Control e Shift insieme alla scorciatoia.
Puoi usare il metodo setAlphabeticShortcut()
per impostare i valori dell’attributo programmaticamente. Per maggiori informazioni sull’attributo alphabeticModifier
, vai a alphabeticModifiers
.
android:numericModifiers
Parola chiave. Un modificatore per la scorciatoia numerica della voce di menu. Il valore predefinito corrisponde al tasto Control. Valori validi:
Valore | Descrizione |
---|---|
META | Corrisponde alla chiave Meta meta |
CTRL | Corrisponde al meta tasto Control |
ALT | Corrisponde al meta tasto Alt |
SHIFT | Corrisponde al meta tasto Shift |
SYM | Corrisponde alla meta chiave Sym |
FUNCTION | Corrisponde alla meta chiave Function |
Nota: Puoi specificare più parole chiave in un attributo. Per esempio, android:numericModifiers="CTRL|SHIFT"
indica che per attivare la voce di menu corrispondente, l’utente deve premere entrambi i meta tasti Control e Shift insieme alla scorciatoia.
Puoi usare il metodo setNumericShortcut()
per impostare i valori dell’attributo programmaticamente. Per maggiori informazioni sull’attributo numericModifier
, andate a numericModifiers
.
android:checkable
Booleano. “true” se l’elemento è controllabile.android:checked
Booleano. “true” se l’elemento è controllato di default.android:visible
Booleano. “true” se l’elemento è visibile di default.android:enabled
Booleano. “true” se l’elemento è abilitato di default.android:menuCategory
Parola chiave. Valore corrispondente alle costantiMenu
CATEGORY_*
, che definiscono la priorità dell’elemento. Valori validi:
Valore | Descrizione |
---|---|
container |
Per gli elementi che sono parte di un contenitore. |
system |
Per gli elementi che sono forniti dal sistema. |
secondary |
Per gli elementi che sono opzioni secondarie (usate di rado) fornite dall’utente. |
alternative |
Per gli elementi che sono azioni alternative sui dati che sono attualmente visualizzati. |
android:orderInCategory
Integer. L’ordine di “importanza” della voce, all’interno di un gruppo.<group>
Un gruppo di menu (per creare una collezione di elementi che condividono caratteristiche, come il fatto che siano visibili, abilitati o controllabili). Contiene uno o più elementi<item>
. Deve essere un figlio di un elemento<menu>
.
attributes:
android:id
ID risorsa. Un ID di risorsa unico. Per creare un nuovo ID di risorsa per questo elemento, usate la forma:"@+id/name"
. Il simbolo più indica che questo dovrebbe essere creato come un nuovo ID.android:checkableBehavior
Parola chiave. Il tipo di comportamento controllabile per il gruppo. Valori validi:
Valore | Descrizione |
---|---|
none |
Non controllabile |
all |
Tutti gli elementi possono essere controllati (usare caselle di controllo) |
single |
Solo un elemento può essere controllato (usare radiobottoni) |
android:visible
Booleano. “vero” se il gruppo è visibile.android:enabled
Booleano. “vero” se il gruppo è abilitato.android:menuCategory
Parola chiave. Valore corrispondente alle costantiMenu
CATEGORY_*
, che definiscono la priorità del gruppo. Valori validi:
Valore | Descrizione |
---|---|
container |
Per i gruppi che sono parte di un contenitore. |
system |
Per i gruppi che sono forniti dal sistema. |
secondary |
Per i gruppi che sono opzioni secondarie (usate di rado) fornite dall’utente. |
alternative |
Per i gruppi che sono azioni alternative sui dati attualmente visualizzati. |
android:orderInCategory
Integer. L’ordine predefinito degli elementi all’interno della categoria. esempio: File XML salvato ares/menu/example_menu.xml
:
Il seguente codice applicativo gonfia il menu dal callback onCreateOptionsMenu(Menu)
e dichiara anche il callback on-click per due delle voci: