Risorsa di menu
    
    
      
    
    
      
      Mantieni tutto organizzato con le raccolte
    
    
      
      Salva e classifica i contenuti in base alle tue preferenze.
    
  
  
      
    
  
  
  
  
  
    
    
    
  
  
    
    
    
Una risorsa di menu definisce un menu dell'applicazione (un menu di opzioni, un menu contestuale o un sottomenu) che
può essere gonfiato con MenuInflater.
Per una guida all'utilizzo dei menu, consulta la sezione Aggiungere menu.
- percorso del file:
 
 res/menu/filename.xml - 
Il nome file viene utilizzato come ID risorsa
 
- tipo di dati della risorsa compilato:
 
- Puntatore di risorsa a una risorsa 
Menu (o sottoclasse) 
- riferimento della risorsa:
 
- 
In Java: 
R.menu.filename
In XML: @[package:]menu.filename
 
- sintassi:
 
- 
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@[+][package:]id/resource_name"
          android:title="string"
          android:titleCondensed="string"
          android:icon="@[package:]drawable/drawable_resource_name"
          android:onClick="method name"
          android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]
          android:actionLayout="@[package:]layout/layout_resource_name"
          android:actionViewClass="class name"
          android:actionProviderClass="class name"
          android:alphabeticShortcut="string"
          android:alphabeticModifiers=["META" | "CTRL" | "ALT" | "SHIFT" | "SYM" | "FUNCTION"]
          android:numericShortcut="string"
          android:numericModifiers=["META" | "CTRL" | "ALT" | "SHIFT" | "SYM" | "FUNCTION"]
          android:checkable=["true" | "false"]
          android:visible=["true" | "false"]
          android:enabled=["true" | "false"]
          android:menuCategory=["container" | "system" | "secondary" | "alternative"]
          android:orderInCategory="integer" />
    <group android:id="@[+][package:]id/resource name"
           android:checkableBehavior=["none" | "all" | "single"]
           android:visible=["true" | "false"]
           android:enabled=["true" | "false"]
           android:menuCategory=["container" | "system" | "secondary" | "alternative"]
           android:orderInCategory="integer" >
        <item />
    </group>
    <item >
        <menu>
          <item />
        </menu>
    </item>
</menu>
 
- elementi:
 
- 
  
    - Obbligatorio. Deve essere il nodo radice. Contiene 
<item> e/o
      Elementi <group>.
      Attributi:
      
        xmlns:android 
          - Spazio dei nomi XML. Obbligatorio. Definisce lo spazio dei nomi XML,
deve essere 
"http://schemas.android.com/apk/res/android".
       
     
  <item> 
    - Una voce di menu. Potrebbe contenere un elemento 
<menu> (per un sottomenu).
      Deve essere un elemento secondario di un elemento <menu> o <group>.
      Attributi:
      
        android:id 
        - ID risorsa. Un ID risorsa univoco. Per creare un nuovo ID risorsa per questo elemento, utilizza il modulo:
"@+id/name". Il simbolo più indica che viene creato come nuovo
ID. 
        android:title 
          - Risorsa stringa. Il titolo del menu come risorsa stringa o stringa non elaborata.
 
        android:titleCondensed 
          - Risorsa stringa. Un titolo ridotto come risorsa stringa o una stringa non elaborata. Questo
titolo viene utilizzato quando il titolo normale è troppo lungo.
 
        android:icon 
          - Risorsa disegnabile. Un'immagine da utilizzare come icona della voce di menu.
 
        android:onClick 
          - Nome metodo. Il metodo da chiamare quando l'utente fa clic su questa voce di menu. La
deve essere dichiarato come pubblico nell'attività. Accetta un 
MenuItem come
, che indica l'articolo selezionato. Questo metodo ha la precedenza sul metodo standard
callback a onOptionsItemSelected(). Consulta le
esempio alla fine di questa pagina.
          Avviso:se offuschi il codice utilizzando ProGuard o uno strumento simile,
assicurati di escludere il metodo specificato in questo attributo dalla ridenominazione, poiché potrebbe interrompere
funzionalità.
          Introdotto nel livello API 11.
 
        android:showAsAction 
          - Parola chiave. Quando e come questo elemento viene visualizzato come attività nell'app
            . Una voce di menu può essere visualizzata come attività solo se l'attività include una
            barra delle app. Valori validi:
          
            | Valore | Descrizione | 
            ifRoom | Posiziona questo elemento solo nella
            barra delle app, se c'è spazio. Se non c'è spazio per tutti
            gli elementi contrassegnati con "ifRoom", quelli con il
            I valori di orderInCategory vengono visualizzati come azioni e
            gli altri elementi vengono visualizzati nel menu extra. | 
            withText | Includi anche il testo del titolo (definito
di android:title) con l'attività. Puoi includere questo valore insieme a uno
degli altri come flag impostato separandoli con una barra verticale |. | 
            never | Non inserire mai questo elemento nella barra delle app. Indica invece l'elemento nell'overflow della barra delle app
            o dal menu Fogli Google. | 
            always | Posiziona sempre questo elemento nella barra delle app.
Evita di usarlo, a meno che non sia fondamentale che l'elemento compaia sempre nell'azione
. L'impostazione di più elementi in modo che vengano sempre visualizzati come attività può comportare la loro sovrapposizione.
con un'altra UI nella barra delle app. | 
            collapseActionView | La visualizzazione azioni associata
con questa attività (come dichiarata da android:actionLayout o
android:actionViewClass) è
comprimibile. Introdotto nel livello API 14. | 
          
          Consulta la sezione Aggiungere la barra delle app.
          per ulteriori informazioni.
          Introdotto nel livello API 11.
         
        android:actionLayout 
          - Risorsa di layout. Un layout da utilizzare come visualizzazione dell'azione.
          
Per ulteriori informazioni, consulta la sezione Utilizzare l'azione
            di viste e azioni.
          Introdotto nel livello API 11.
 
        android:actionViewClass 
          - Nome del corso. Un nome completo del corso per 
View
da usare come visualizzazione delle azioni. Ad esempio:
"android.widget.SearchView" per usare SearchView come visualizzazione azione.
          Per ulteriori informazioni, consulta la sezione Utilizzare l'azione
            di viste e azioni.
          Avviso:se offuschi il codice utilizzando ProGuard o uno strumento simile,
assicurati di escludere la classe specificata in questo attributo dalla ridenominazione, poiché potrebbe interrompere
funzionalità.
          Introdotto nel livello API 11.
 
        android:actionProviderClass 
          - Nome del corso. Un nome completo della classe che 
ActionProvider può utilizzare al posto dell'attività. Ad esempio:
"android.widget.ShareActionProvider" per utilizzare ShareActionProvider.
          Per ulteriori informazioni, consulta la sezione Utilizzare l'azione
            di viste e azioni.
          Avviso:se offuschi il codice utilizzando ProGuard o uno strumento simile,
assicurati di escludere la classe specificata in questo attributo dalla ridenominazione, poiché potrebbe interrompere
funzionalità.
          Introdotto nel livello API 14.
 
        android:alphabeticShortcut 
          - carattere. Un carattere per la scorciatoia da tastiera alfabetica.
 
        android:numericShortcut 
          - Numero intero. Un numero per la scorciatoia da tastiera numerica.
 
        android:alphabeticModifiers 
          - Parola chiave. Un modificatore per l'alfabeto della voce del menu
            scorciatoia. Il valore predefinito corrisponde al campo Controllo
            chiave. Valori validi:
            
            | Valore | Descrizione | 
              
                META | 
                Corrisponde alla meta chiave Meta. | 
              
              
                | CTRL | 
                Corrisponde alla metachiave Controllo. | 
              
              
                | ALT | 
                Corrisponde alla meta-chiave Alt. | 
              
              
                | MAIUSC | 
                Corrisponde al meta-tasto Maiusc. | 
              
              
                | SISTEMA | 
                Corrisponde alla meta chiave Sym. | 
              
              
                | FUNZIONE | 
                Corrisponde al meta tasto Funzione. | 
              
            
            Nota: puoi specificare più parole chiave in una
              . Ad esempio:
              android:alphabeticModifiers="CTRL|SHIFT" indica
              per attivare la voce di menu corrispondente, l'utente deve
              premi entrambi i tasti meta Ctrl e Maiusc insieme
              con la scorciatoia.
            Puoi usare il metodo setAlphabeticShortcut() per
              e impostare i valori degli attributi
in modo programmatico. Per ulteriori informazioni
              sull'attributo alphabeticModifier, consulta
              alphabeticModifiers.
         android:numericModifiers 
          - Parola chiave. Un modificatore per la scorciatoia numerica della voce di menu.
            Il valore predefinito corrisponde al tasto Ctrl. Valido
            valori:
            
            | Valore | Descrizione | 
              
                | META | 
                Corrisponde alla meta chiave Meta. | 
              
              
                | CTRL | 
                Corrisponde alla metachiave Controllo. | 
              
              
                | ALT | 
                Corrisponde alla meta-chiave Alt. | 
              
              
                | MAIUSC | 
                Corrisponde al meta-tasto Maiusc. | 
              
              
                | SISTEMA | 
                Corrisponde alla meta chiave Sym. | 
              
              
                | FUNZIONE | 
                Corrisponde al meta tasto Funzione. | 
              
            
            Nota: puoi specificare più parole chiave in una
              . Ad esempio:
              android:numericModifiers="CTRL|SHIFT" indica
              per attivare la voce di menu corrispondente, l'utente deve
              premi entrambi i tasti meta Ctrl e Maiusc insieme
              con la scorciatoia.
            Puoi usare il metodo setNumericShortcut() per impostare
              l'attributo in modo programmatico. Per ulteriori informazioni
              l'attributo numericModifier, consulta
              numericModifiers.
         android:checkable 
          - Booleano. True se l'elemento è controllabile.
 
        android:checked 
          - Booleano. True se l'elemento è selezionato per impostazione predefinita.
 
        android:visible 
          - Booleano. True se l'elemento è visibile per impostazione predefinita.
 
        android:enabled 
          - Booleano. True se l'elemento è abilitato per impostazione predefinita.
 
        android:menuCategory 
          - Parola chiave. Valore corrispondente a 
Menu CATEGORY_*
          costanti, che definiscono la priorità dell'elemento. Valori validi:
          
            | Valore | Descrizione | 
            container | Per gli elementi che fanno parte di un
containerizzato. | 
            system | Per gli elementi forniti
di un sistema operativo completo. | 
            secondary | Per gli elementi secondari forniti dall'utente
(utilizzate raramente). | 
            alternative | Per gli elementi che rappresentano azioni alternative
sui dati attualmente visualizzati. | 
          
         
        android:orderInCategory 
          - Numero intero. L'ordine di importanza degli elementi in un gruppo.
 
      
     
  <group> 
    - Un gruppo di menu, per creare una raccolta di elementi che condividono caratteristiche, ad esempio se sono
visibili, attivate o selezionabili. Contiene uno o più elementi 
<item>. Deve essere un
secondario di un elemento <menu>.
      Attributi:
      
        android:id 
        - ID risorsa. Un ID risorsa univoco. Per creare un nuovo ID risorsa per questo elemento,
utilizza il modulo:
"@+id/name". Il simbolo più indica che viene creato come nuovo
ID. 
        android:checkableBehavior 
        - Parola chiave. Il tipo di comportamento selezionabile per il gruppo. Valori validi:
          
            | Valore | Descrizione | 
            none | Non selezionabile. | 
            all | Puoi selezionare tutti gli elementi (utilizza le caselle di controllo). | 
            single | È possibile selezionare un solo elemento (usa la radio
). | 
          
         
        android:visible 
        - Booleano. True se il gruppo è visibile.
 
        android:enabled 
        - Booleano. True se il gruppo è abilitato.
 
        android:menuCategory 
          - Parola chiave. Valore corrispondente a 
Menu CATEGORY_*
          costanti, che definiscono la priorità del gruppo. Valori validi:
          
            | Valore | Descrizione | 
            container | Per i gruppi che fanno parte di un
containerizzato. | 
            system | Per i gruppi forniti
di un sistema operativo completo. | 
            secondary | Per i gruppi secondari forniti dall'utente
(utilizzate raramente). | 
            alternative | Per i gruppi che sono azioni alternative
sui dati attualmente visualizzati. | 
          
         
        android:orderInCategory 
        - Numero intero. L'ordine predefinito degli articoli nella categoria.
 
      
     
 
- esempio:
 
- File XML salvato alle ore 
res/menu/example_menu.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/item1"
          android:title="@string/item1"
          android:icon="@drawable/group_item1_icon"
          app:showAsAction="ifRoom|withText"/>
    <group android:id="@+id/group">
        <item android:id="@+id/group_item1"
              android:onClick="onGroupItemClick"
              android:title="@string/group_item1"
              android:icon="@drawable/group_item1_icon" />
        <item android:id="@+id/group_item2"
              android:onClick="onGroupItemClick"
              android:title="@string/group_item2"
              android:icon="@drawable/group_item2_icon" />
    </group>
    <item android:id="@+id/submenu"
          android:title="@string/submenu_title"
          app:showAsAction="ifRoom|withText" >
        <menu>
            <item android:id="@+id/submenu_item1"
                  android:title="@string/submenu_item1" />
        </menu>
    </item>
</menu>
    Il seguente codice dell'applicazione gonfia il menu dal callback onCreateOptionsMenu(Menu) e dichiara anche l'azione al clic
per due elementi:
Kotlin
override fun onCreateOptionsMenu(menu: Menu): Boolean {
    menuInflater.inflate(R.menu.example_menu, menu)
    return true
}
fun onGroupItemClick(item: MenuItem) {
    // One of the group items (using the onClick attribute) was clicked.
    // The item parameter passed here indicates which item it is.
    // All other menu item clicks are handled by Activity.onOptionsItemSelected.
}
Java
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.example_menu, menu);
    return true;
}
public void onGroupItemClick(MenuItem item) {
    // One of the group items (using the onClick attribute) was clicked.
    // The item parameter passed here indicates which item it is.
    // All other menu item clicks are handled by Activity.onOptionsItemSelected.
}
 
  
  
  
  
    
  
 
    
  
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
  Ultimo aggiornamento 2025-07-29 UTC.
  
  
  
    
      [[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-29 UTC."],[],[]]