En menyresurs definierar en programmeny (alternativmeny, kontextmeny eller undermeny) som kan fyllas på med MenuInflater
.
För en vägledning om hur man använder menyer, se Menusdeveloper guide.
filplats:res/menu/filename.xml
Filnamnet kommer att användas som resurs-ID. compiled resource datatype: Resurspektive resurs pekare till enMenu
(eller underklass) resurs. resursreferens: Resource pointer to aMenu
(or subclass) resource: I Java:R.menu.filename
I XML:@menu.filename
syntax: element:<menu>
Krävs. Detta måste vara rotnoden. Innehåller<item>
och/eller<group>
element.
attribut:
xmlns:android
XML-namnområde. Krävs. Definierar XML-namnområdet, som måste vara"http://schemas.android.com/apk/res/android"
.<item>
Ett menyalternativ. Kan innehålla ett<menu>
-element (för en undermeny). Måste vara ett barn till ett<menu>
– eller<group>
-element.
attribut:
android:id
Resurs-ID. Ett unikt resurs-ID. Om du vill skapa ett nytt resurs-ID för det här elementet använder du formuläret:"@+id/name"
. Plus-symbolen anger att detta ska skapas som ett nyttID.android:title
String resource. Menytiteln som en strängresurs eller rå sträng.android:titleCondensed
Strängresurs. En kondenserad titel som en strängresurs eller en rå sträng. Denna titel används i situationer där den normala titeln är för lång.android:icon
Ritbar resurs. En bild som ska användas som ikon för menyalternativet.android:onClick
Metodnamn. Den metod som ska anropas när det här menyalternativet klickas. Metoden måste deklareras i aktiviteten som offentlig och acceptera enMenuItem
som enda parameter, som anger det klickade objektet. Den här metoden har företräde framför standardcallback tillonOptionsItemSelected()
. Se exemplet längst ner.
Varning: Om du förvränger din kod med hjälp av ProGuard (eller ett liknande verktyg), se till att utesluta den metod som du anger i det här attributet från att byta namn, eftersom det kan bryta funktionaliteten.
Introducerat i API Level 11.
android:showAsAction
Nyckelord. När och hur det här objektet ska visas som ett åtgärdsobjekt i appfältet. Ett menyalternativ kan endast visas som ett åtgärdsobjekt när aktiviteten innehåller en appbar. Giltiga värden:
Värde | Beskrivning |
---|---|
ifRoom |
Placera endast det här objektet i appfältet om det finns plats för det. Om det inte finns plats för alla objekt markerade med "ifRoom" , visas objekten med de lägsta orderInCategory -värdena som åtgärder och de återstående objekten visas i överflödsmenyn. |
withText |
Inkludera även titelns text (definierad av android:title ) tillsammans med åtgärdsobjektet. Du kan inkludera detta värde tillsammans med ett av de andra som en flagguppsättning genom att separera dem med ett pip | . |
never |
Placera aldrig det här objektet i appfältet. Ange i stället objektet i appfältets överflödsmeny. |
always |
Placera alltid det här objektet i appfältet.Undvik att använda den här funktionen om det inte är viktigt att objektet alltid visas i aktivitetsfältet. Om du ställer in flera objekt så att de alltid visas som åtgärdsobjekt kan det leda till att de överlappar med annat användargränssnitt i appfältet. |
collapseActionView |
Åtgärdsvyn som är kopplad till det här åtgärdsobjektet (enligt deklarationen i android:actionLayout ellerandroid:actionViewClass ) är hopfällbar.Introducerad i API-nivå 14. |
Vis mer information i kursen Lägg till appfältet.
Introducerad i API-nivå 11.
android:actionLayout
Layoutresurs. En layout som ska användas som åtgärdsvyn.
Se Åtgärdsvyer och Åtgärdsleverantörer för mer information.
Introducerad i API-nivå 11.
android:actionViewClass
Klassnamn. Ett fullständigt kvalificerat klassnamn för denView
som ska användas som åtgärdsvy. Till exempel"android.widget.SearchView"
för att användaSearchView
som åtgärdsvy.
Se Åtgärdsvyer och Åtgärdsleverantörer för mer information.
Varning: Om du förvränger din kod med ProGuard (eller ett liknande verktyg) ska du se till att den klass som du anger i det här attributet inte får byta namn, eftersom det kan bryta funktionaliteten.
Introducerat i API-nivå 11.
android:actionProviderClass
Klassnamn. Ett fullständigt kvalificerat klassnamn förActionProvider
som ska användas i stället för åtgärdsobjektet. Till exempel"android.widget.ShareActionProvider"
för att användaShareActionProvider
.
Se Åtgärdsvyer och Åtgärdsleverantörer för mer information.
Varning: Om du förvränger din kod med ProGuard (eller ett liknande verktyg) måste du se till att den klass som du anger i det här attributet inte får byta namn, eftersom det kan bryta funktionaliteten.
Introducerat i API-nivå 14.
android:alphabeticShortcut
Char. Ett tecken för den alfabetiska genvägstangenten.android:numericShortcut
Integer. Ett tal för den numeriska genvägstangenten.android:alphabeticModifiers
Nyckelord. En modifierare för menyalternativets alfabetiska genväg. Standardvärdet motsvarar kontrolltangenten. Giltiga värden:
Värde | Beskrivning |
---|---|
META |
Korresponderar till metatangenten Meta |
CTRL | Svarar för Metatangenten Control |
ALT | Svarar för Alt metatangenten |
SHIFT | Korresponderar till Shift-metatangenten |
SYM | Korresponderar till motsvarar metatangenten Sym |
FUNCTION | Korresponderar till metatangenten Function |
Anmärkning: Du kan ange flera nyckelord i ett attribut. Till exempel anger android:alphabeticModifiers="CTRL|SHIFT"
att användaren måste trycka på både metatangenterna Control och Shift tillsammans med genvägen för att utlösa motsvarande menyalternativ.
Du kan använda metoden setAlphabeticShortcut()
för att ställa in attributvärdena programmatiskt. Mer information om attributet alphabeticModifier
finns på alphabeticModifiers
.
android:numericModifiers
Nyckelord. En modifierare för menyalternativets numeriska genväg. Standardvärdet motsvarar kontrolltangenten. Giltiga värden:
Värde | Beskrivning |
---|---|
META | Korresponderar till metanyckel Meta |
CTRL | Svarar för metatangenten Control |
ALT | Svarar för metatangenten Alt. tangenten |
SHIFT | Svarar för Shift-metatangenten |
SYM | Svarar för motsvarar metatangenten Sym |
FUNCTION | Korresponderar till metatangenten Function |
Anmärkning: Du kan ange flera nyckelord i ett attribut. Till exempel anger android:numericModifiers="CTRL|SHIFT"
att användaren måste trycka på både metatangenterna Control och Shift tillsammans med genvägen för att utlösa motsvarande menyalternativ.
Du kan använda metoden setNumericShortcut()
för att ställa in attributvärdena programmatiskt. Mer information om attributet numericModifier
finns i numericModifiers
.
Boolean. ”Sant” om objektet är kontrollerbart.android:checked
Boolean. ”true” om objektet är kontrollerat som standard.android:visible
Boolean. ”True” om objektet är synligt som standard.android:enabled
Boolean. ”True” om objektet är aktiverat som standard.android:menuCategory
Nyckelord. Värde som motsvararMenu
CATEGORY_*
konstanter som definierar objektets prioritet. Giltiga värden:
Värde | Beskrivning |
---|---|
container |
För objekt som är en del av encontainer. |
system |
För objekt som tillhandahålls av systemet. |
secondary |
För objekt som är sekundära (sällan använda) alternativ som tillhandahålls av användaren. |
alternative |
För objekt som är alternativa åtgärder för de data som för närvarande visas. |
android:orderInCategory
Hela tal. Ordningsföljden för objektets ”betydelse” inom en grupp.<group>
En menygrupp (för att skapa en samling objekt som har samma egenskaper, t.ex. om de är synliga, aktiverade eller kontrollerbara). Innehåller ett eller flera<item>
-element. Måste vara ett barn till ett<menu>
-element.
attribut:
android:id
Resurs-ID. Ett unikt resurs-ID. Om du vill skapa ett nytt resurs-ID för det här elementet använder du formuläret:"@+id/name"
. Plus-symbolen anger att detta ska skapas som ett nyttID.android:checkableBehavior
Nyckelord. Typ av kontrollerbart beteende för gruppen. Giltiga värden:
Värde | Beskrivning |
---|---|
none |
Inte kontrollerbart |
all |
Alla objekt. kan kontrolleras (använd kryssrutor) |
single |
Endast ett objekt kan kontrolleras (använd radioknappar) |
android:visible
Boolean. ”Sant” om gruppen är synlig.android:enabled
Boolean. ”True” (sant) om gruppen är aktiverad.android:menuCategory
Nyckelord. Värde som motsvararMenu
CATEGORY_*
konstanter som definierar gruppens prioritet. Giltiga värden:
Värde | Beskrivning |
---|---|
container |
För grupper som ingår i encontainer. |
system |
För grupper som tillhandahålls av systemet. |
secondary |
För grupper som är sekundära (sällan använda) alternativ som tillhandahålls av användaren. |
alternative |
För grupper som är alternativa åtgärder för de data som för närvarande visas. |
android:orderInCategory
Hela tal. Standardordningen för objekten inom kategorin, t.ex: XML-fil sparad påres/menu/example_menu.xml
:
Följande programkod blåser upp menyn från onCreateOptionsMenu(Menu)
callback och deklarerar även on-click-callback för två av objekten: