Een menu resource definieert een applicatiemenu (Opties Menu, Context Menu, of submenu) dat kan worden opgeblazen met MenuInflater
.
Voor een handleiding voor het gebruik van menu’s, zie de Menusdeveloper gids.
bestandslocatie:res/menu/filename.xml
De bestandsnaam wordt gebruikt als de resource-ID. gecompileerde resource datatype: Resource pointer naar eenMenu
(of subklasse) resource. resource reference: In Java:R.menu.filename
In XML:@menu.filename
syntaxis: elementen:<menu>
Verplicht. Dit moet de root node zijn. Bevat<item>
en/of<group>
elementen.
attributen:
xmlns:android
XML-naamruimte. Verplicht. Bepaalt de XML-naamruimte, die"http://schemas.android.com/apk/res/android"
moet zijn.<item>
Een menu-item. Kan een<menu>
element bevatten (voor een Sub Menu). Moet een kind van een<menu>
of<group>
element zijn.
attributes:
android:id
Hulpbron-ID. Een unieke resource-ID. Gebruik de vorm:"@+id/name"
om een nieuwe resource-ID voor dit element te maken. Het plusteken geeft aan dat dit als een nieuwID moet worden aangemaakt.android:title
String resource. De menu titel als een string resource of ruwe string.android:titleCondensed
String resource. Een verkorte titel als een string resource of een raw string. Deze titel wordt gebruikt in situaties waarin de normale titel te lang is.android:icon
Tekenbare bron. Een afbeelding die moet worden gebruikt als het menu-item pictogram.android:onClick
Methode naam. De methode die moet worden aangeroepen wanneer op dit menu-item wordt geklikt. De methode moet worden gedeclareerd in de activiteit als openbaar en accepteert eenMenuItem
als enige parameter, die het item aangeeft waarop is geklikt. Deze methode heeft voorrang boven de standaardcallback naaronOptionsItemSelected()
. Zie het voorbeeld onderaan.
Waarschuwing: Als u uw code versluiert met ProGuard (of een soortgelijk hulpmiddel), zorg er dan voor dat u de methode die u in dit attribuut opgeeft, uitsluit van hernoemen, omdat dit de functionaliteit kan breken.
Ingevoerd in API Level 11.
android:showAsAction
Sleutelwoord. Wanneer en hoe dit item moet verschijnen als een actie item in de app balk. Een menu-item kan alleen als een actie-item verschijnen als de activiteit een app-balk bevat. Geldige waarden:
Value | Description |
---|---|
ifRoom |
Plaats dit item alleen in de app-balk als er ruimte voor is. Als er geen ruimte is voor alle items met "ifRoom" , worden de items met de laagste orderInCategory -waarden weergegeven als acties, en worden de resterende items weergegeven in het overloopmenu. |
withText |
Breng ook de titeltekst (gedefinieerd door android:title ) met het actie-item. U kunt deze waarde samen met een van de andere waarden opnemen als een vlagset, door ze te scheiden met een pijp | . |
never |
Plaats dit item nooit in de app-balk. Plaats het item in plaats daarvan in het overloopmenu van de werkbalk. |
always |
Plaats dit item altijd in de werkbalk.Vermijd het gebruik hiervan, tenzij het van cruciaal belang is dat het item altijd in de werkbalk wordt weergegeven. Als u meerdere items instelt om altijd als actie-item te worden weergegeven, kan dit leiden tot overlapping met andere UI in de werkbalk. |
collapseActionView |
De actieweergave die aan dit actie-item is gekoppeld (zoals aangegeven door android:actionLayout of android:actionViewClass ) is inklapbaar.Geïntroduceerd in API-niveau 14. |
Zie de training App Bar toevoegen voor meer informatie.
Geïntroduceerd in API-niveau 11.
android:actionLayout
Layout resource. Een lay-out om te gebruiken als de actieweergave.
Zie Action Views en Action Providers voor meer informatie.
Introduceerd in API Level 11.
android:actionViewClass
Klassenaam. Een volledig gekwalificeerde klasse-naam voor deView
te gebruiken als de actie-view. Bijvoorbeeld,"android.widget.SearchView"
omSearchView
te gebruiken als een actie zicht.
Zie Action Views en Action Providers voor meer informatie.
Waarschuwing: Als u uw code versluiert met ProGuard (of een vergelijkbaar hulpmiddel), zorg er dan voor dat u de klasse die u in dit attribuut specificeert, uitsluit van hernoeming, omdat dit de functionaliteit kan breken.
Ingevoerd in API Level 11.
android:actionProviderClass
Klassenaam. Een volledig gekwalificeerde klasse naam voor deActionProvider
te gebruiken in plaats van het actie-item. Bijvoorbeeld,"android.widget.ShareActionProvider"
omShareActionProvider
te gebruiken.
Zie Action Views en Action Providers voor meer informatie.
Waarschuwing: Als u uw code versluiert met ProGuard (of een soortgelijk hulpmiddel), zorg er dan voor dat u de klasse die u in dit attribuut specificeert, uitsluit van hernoemen, omdat dit de functionaliteit kan breken.
Ingevoerd in API Level 14.
android:alphabeticShortcut
Char. Een teken voor de alfabetische sneltoets.android:numericShortcut
Integer. Een getal voor de numerieke sneltoets.android:alphabeticModifiers
Trefwoord. Een modifier voor de alfabetische sneltoets van het menu-item. De standaardwaarde komt overeen met de Control-toets. Geldige waarden:
Value | Description |
---|---|
META |
Korrespondeert met de Meta meta toets |
CTRL | Correspondeert met de Control meta-toets |
ALT | Correspondeert met de Alt metatoets |
SHIFT | Hoort bij de Shift metatoets |
SYM | Hoort bij komt overeen met de meta-toets Sym |
FUNCTION | Komt overeen met de meta-toets Functie |
Noot: U kunt meerdere sleutelwoorden in een attribuut opgeven. Bijvoorbeeld, android:alphabeticModifiers="CTRL|SHIFT"
geeft aan dat om het corresponderende menu-item te activeren, de gebruiker zowel de Control en Shift meta toetsen moet indrukken, samen met de snelkoppeling.
U kunt de setAlphabeticShortcut()
methode gebruiken om de attribuutwaarden programmatisch in te stellen. Ga voor meer informatie over het alphabeticModifier
-attribuut naar alphabeticModifiers
.
android:numericModifiers
Trefwoord. Een modifier voor de numerieke snelkoppeling van het menu-item. De standaardwaarde komt overeen met de Control-toets. Geldige waarden:
Value | Description |
---|---|
META | Correspondeert met de Meta meta toets |
CTRL | Correspondeert met de Control meta-toets |
ALT | Correspondeert met de Alt meta-toets |
SHIFT | Geeft antwoord op de Shift-meta-toets |
SYM | Geeft antwoord op komt overeen met de meta-toets Sym |
FUNCTION | Komt overeen met de meta-toets Functie |
Noot: U kunt meerdere sleutelwoorden in een attribuut opgeven. Bijvoorbeeld, android:numericModifiers="CTRL|SHIFT"
geeft aan dat om het corresponderende menu-item te activeren, de gebruiker zowel de Control en Shift meta-toetsen moet indrukken, samen met de snelkoppeling.
U kunt de setNumericShortcut()
methode gebruiken om de attribuutwaarden programmatisch in te stellen. Voor meer informatie over het numericModifier
-attribuut, ga naar numericModifiers
.
android:checkable
Boolean. “true” als het item controleerbaar is.android:checked
Booleaans. “true” als het item standaard wordt gecontroleerd.android:visible
Booleaans. “true” als het item standaard zichtbaar is.android:enabled
Booleaans. “true” als het item standaard is ingeschakeld.android:menuCategory
Trefwoord. Waarde die overeenkomt metMenu
CATEGORY_*
constanten, die de prioriteit van het item definiëren. Geldige waarden:
Value | Description |
---|---|
container |
Voor items die deel uitmaken van eencontainer. |
system |
Voor items die worden geleverd door het systeem. |
secondary |
Voor items die door de gebruiker verschafte secundaire (niet vaak gebruikte) opties zijn. |
alternative |
Voor items die alternatieve acties zijn op de gegevens die momenteel worden weergegeven. |
android:orderInCategory
Geheel getal. De volgorde van “belangrijkheid” van het item, binnen een groep.<group>
Een menu groep (om een verzameling van items te maken die eigenschappen delen, zoals of ze zichtbaar, ingeschakeld, of controleerbaar zijn). Bevat een of meer<item>
elementen. Moet een kind zijn van een<menu>
element.
attributes:
android:id
Resource-ID. Een unieke resource-ID. Gebruik de vorm:"@+id/name"
om een nieuwe resource-ID voor dit element te maken. Het plusteken geeft aan dat dit als een nieuwID moet worden aangemaakt.android:checkableBehavior
Trefwoord. Het type controleerbaar gedrag voor de groep. Geldige waarden:
Value | Description |
---|---|
none |
Not checkable |
all |
Alle items kunnen worden gecontroleerd (gebruik selectievakjes) |
single |
Een enkel item kan worden gecontroleerd (gebruik radiobuttons) |
android:visible
Boolean. “true” als de groep zichtbaar is.android:enabled
Booleaans. “true” als de groep is ingeschakeld.android:menuCategory
Trefwoord. Waarde die overeenkomt metMenu
CATEGORY_*
constanten, die de prioriteit van de groep bepalen. Geldige waarden:
Value | Description |
---|---|
container |
Voor groepen die deel uitmaken van eencontainer. |
system |
Voor groepen die door het systeem worden geleverd. |
secondary |
Voor groepen die door de gebruiker verstrekte secundaire (niet vaak gebruikte) opties zijn. |
alternative |
Voor groepen die alternatieve acties zijn voor de gegevens die momenteel worden weergegeven. |
android:orderInCategory
Geheel getal. De standaardvolgorde van de items binnen de categorie. voorbeeld: XML-bestand opgeslagen opres/menu/example_menu.xml
:
De volgende toepassingscode blaast het menu op vanuit de onCreateOptionsMenu(Menu)
callback en verklaart ook de on-clickcallback voor twee van de items: