Eine Menü-Ressource definiert ein Anwendungsmenü (Optionsmenü, Kontextmenü oder Untermenü), das mit MenuInflater
aufgeblasen werden kann.
Eine Anleitung zur Verwendung von Menüs finden Sie im Menusdeveloper-Handbuch.
Speicherort der Datei:res/menu/filename.xml
Der Dateiname wird als Ressourcenkennung verwendet. compiled resource datatype: Ressourcenzeiger auf eineMenu
(oder Unterklasse) Ressource. resource reference: In Java:R.menu.filename
In XML:@menu.filename
Syntax: Elemente:<menu>
Erforderlich. Dies muss der Wurzelknoten sein. Enthält<item>
und/oder<group>
Elemente.
Attribute:
xmlns:android
XML-Namespace. Erforderlich. Definiert den XML-Namensraum, der"http://schemas.android.com/apk/res/android"
sein muss.<item>
Ein Menüpunkt. Kann ein<menu>
Element enthalten (für ein Untermenü). Muss ein Kind eines<menu>
oder<group>
Elements sein.
Attribute:
android:id
Ressourcen-ID. Eine eindeutige Ressourcen-ID. Um eine neue Ressourcen-ID für dieses Element zu erstellen, verwenden Sie die Form:"@+id/name"
. Das Plus-Symbol zeigt an, dass dies als neue ID erstellt werden soll.android:title
String-Ressource. Der Menütitel als String-Ressource oder Rohstring.android:titleCondensed
String-Ressource. Ein zusammengefasster Titel als String-Ressource oder roher String. Dieser Titel wird für Situationen verwendet, in denen der normale Titel zu lang ist.android:icon
Zeichnungsfähige Ressource. Ein Bild, das als Symbol für den Menüpunkt verwendet werden soll.android:onClick
Methodenname. Die Methode, die aufgerufen wird, wenn dieser Menüpunkt angeklickt wird. Die Methode muss in der Aktivität als öffentlich deklariert werden und einenMenuItem
als einzigen Parameter akzeptieren, der das angeklickte Element angibt. Diese Methode hat Vorrang vor dem Standardcallback anonOptionsItemSelected()
. Siehe das Beispiel am Ende.
Warnung: Wenn Sie Ihren Code mit ProGuard (oder einem ähnlichen Tool) verschleiern, stellen Sie sicher, dass die Methode, die Sie in diesem Attribut angeben, von der Umbenennung ausgeschlossen ist, da dies die Funktionalität beeinträchtigen kann.
Eingeführt in API Level 11.
android:showAsAction
Schlüsselwort. Wann und wie dieser Eintrag als Aktionseintrag in der App-Leiste erscheinen soll. Ein Menüelement kann nur dann als Aktionselement erscheinen, wenn die Aktivität eine Anwendungsleiste enthält. Gültige Werte:
Wert | Beschreibung |
---|---|
ifRoom |
Platzieren Sie dieses Element nur in der App-Leiste, wenn Platz dafür vorhanden ist. Wenn nicht für alle mit "ifRoom" gekennzeichneten Elemente Platz ist, werden die Elemente mit den niedrigsten orderInCategory -Werten als Aktionen angezeigt, und die restlichen Elemente werden im Überlaufmenü angezeigt. |
withText |
Fügen Sie dem Aktionselement auch den Titeltext (definiert durch android:title ) bei. Sie können diesen Wert zusammen mit einem der anderen als Flaggensatz einfügen, indem Sie sie mit einer Pipe | trennen. |
never |
Platzieren Sie dieses Element niemals in der Anwendungsleiste. Führen Sie das Element stattdessen im Überlaufmenü der Anwendungsleiste auf. |
always |
Dieses Element immer in der Anwendungsleiste platzieren.Vermeiden Sie die Verwendung dieser Option, es sei denn, es ist wichtig, dass das Element immer in der Aktionsleiste erscheint. Wenn Sie mehrere Elemente so einstellen, dass sie immer als Aktionselemente angezeigt werden, kann dies dazu führen, dass sie sich mit anderen Benutzeroberflächen in der Anwendungsleiste überschneiden. |
collapseActionView |
Die mit diesem Aktionselement verbundene Aktionsansicht (wie durch android:actionLayout oderandroid:actionViewClass deklariert) ist zusammenklappbar.Eingeführt in API Level 14. |
Weitere Informationen finden Sie in der Schulungsklasse Hinzufügen der App-Leiste.
Eingeführt in API Level 11.
android:actionLayout
Layout-Ressource. Ein Layout, das als Aktionsansicht verwendet wird.
Weitere Informationen finden Sie unter Aktionsansichten und Aktionsanbieter.
Eingeführt in API-Stufe 11.
android:actionViewClass
Klassenname. Ein vollqualifizierter Klassenname für dieView
als Aktionsansicht zu verwendende Klasse. Zum Beispiel"android.widget.SearchView"
, umSearchView
als Aktionsansicht zu verwenden.
Weitere Informationen finden Sie unter Action Views und Action Providers.
Warnung: Wenn Sie Ihren Code mit ProGuard (oder einem ähnlichen Tool) verschleiern, stellen Sie sicher, dass Sie die Klasse, die Sie in diesem Attribut angeben, von der Umbenennung ausschließen, da dies die Funktionalität beeinträchtigen kann.
Eingeführt in API Level 11.
android:actionProviderClass
Klassenname. Ein vollqualifizierter Klassenname für dasActionProvider
, das anstelle des Aktionselements verwendet werden soll. Zum Beispiel"android.widget.ShareActionProvider"
für die Verwendung vonShareActionProvider
.
Weitere Informationen finden Sie unter Action Views und Action Providers.
Warnung: Wenn Sie Ihren Code mit ProGuard (oder einem ähnlichen Tool) verschleiern, stellen Sie sicher, dass Sie die Klasse, die Sie in diesem Attribut angeben, von der Umbenennung ausschließen, da dies die Funktionalität beeinträchtigen kann.
Eingeführt in API Level 14.
android:alphabeticShortcut
Char. Ein Zeichen für die alphabetische Abkürzungstaste.android:numericShortcut
Integer. Eine Zahl für die numerische Abkürzungstaste.android:alphabeticModifiers
Schlüsselwort. Ein Modifikator für das alphabetische Tastaturkürzel des Menüpunkts. Der Standardwert entspricht der Steuerungstaste. Gültige Werte:
Wert | Beschreibung |
---|---|
META |
Entspricht der Meta-Meta-Taste |
CTRL | Entspricht der Steuerungstaste |
ALT | Entspricht der Alt Metataste |
Umschalttaste | Entspricht der Umschalt-Metataste |
SYM | Entspricht entspricht der Metataste Sym |
FUNCTION | entspricht der Metataste Function |
Hinweis: Sie können mehrere Schlüsselwörter in einem Attribut angeben. Zum Beispiel gibt android:alphabeticModifiers="CTRL|SHIFT"
an, dass der Benutzer zum Auslösen des entsprechenden Menüeintrags sowohl die Strg- als auch die Umschalt-Metataste zusammen mit der Tastenkombination drücken muss.
Sie können die Methode setAlphabeticShortcut()
verwenden, um die Attributwerte programmatisch festzulegen. Weitere Informationen über das Attribut alphabeticModifier
finden Sie unter alphabeticModifiers
.
android:numericModifiers
Schlüsselwort. Ein Modifikator für das numerische Tastaturkürzel des Menüelements. Der Standardwert entspricht der Steuerungstaste. Gültige Werte:
Wert | Beschreibung |
---|---|
META | Entspricht der Meta-Meta-Taste |
CTRL | Entspricht der Control-Meta-Taste |
ALT | Entspricht der Alt-Meta Taste |
Umschalttaste | Entspricht der Umschalt-Metataste |
SYM | Entspricht entspricht der Metataste Sym |
FUNCTION | entspricht der Metataste Function |
Hinweis: Sie können mehrere Schlüsselwörter in einem Attribut angeben. Zum Beispiel gibt android:numericModifiers="CTRL|SHIFT"
an, dass der Benutzer zum Auslösen des entsprechenden Menüeintrags sowohl die Strg- als auch die Umschalt-Metataste zusammen mit dem Kürzel drücken muss.
Sie können die setNumericShortcut()
-Methode verwenden, um die Attributwerte programmatisch festzulegen. Weitere Informationen über das Attribut numericModifier
finden Sie unter numericModifiers
.
android:checkable
Boolescher Wert. „true“, wenn das Element überprüfbar ist.android:checked
Boolescher Wert. „true“, wenn der Eintrag standardmäßig geprüft wird.android:visible
Boolescher Wert. „true“, wenn der Eintrag standardmäßig sichtbar ist.android:enabled
Boolescher Wert. „true“, wenn das Element standardmäßig aktiviert ist.android:menuCategory
Schlüsselwort. Wert, der denMenu
CATEGORY_*
Konstanten entspricht, die die Priorität des Elements festlegen. Gültige Werte:
Wert | Beschreibung |
---|---|
container |
Für Elemente, die Teil eines Containers sind. |
system |
Für Elemente, die vom System bereitgestellt werden. |
secondary |
Für Elemente, bei denen es sich um vom Benutzer bereitgestellte sekundäre (selten verwendete) Optionen handelt. |
alternative |
Für Elemente, bei denen es sich um alternative Aktionen zu den aktuell angezeigten Daten handelt. |
android:orderInCategory
Ganzzahlig. Die Reihenfolge der „Wichtigkeit“ des Elements innerhalb einer Gruppe.<group>
Eine Menügruppe (um eine Sammlung von Elementen zu erstellen, die gemeinsame Eigenschaften haben, z. B. ob sie sichtbar, aktiviert oder überprüfbar sind). Enthält ein oder mehrere<item>
Elemente. Muss ein Kind eines<menu>
-Elements sein.
Attribute:
android:id
Ressourcen-ID. Eine eindeutige Ressourcen-ID. Um eine neue Ressourcen-ID für dieses Element zu erstellen, verwenden Sie die Form:"@+id/name"
. Das Plus-Symbol zeigt an, dass diese als neue ID erstellt werden soll.android:checkableBehavior
Schlüsselwort. Die Art des überprüfbaren Verhaltens für die Gruppe. Gültige Werte:
Wert | Beschreibung |
---|---|
none |
Nicht ankreuzbar |
all |
Alle Elemente können angekreuzt werden (Kontrollkästchen verwenden) |
single |
Nur ein Element kann angekreuzt werden (Radiobuttons verwenden) |
android:visible
Boolesch. „true“, wenn die Gruppe sichtbar ist.android:enabled
Boolescher Wert. „true“, wenn die Gruppe aktiviert ist.android:menuCategory
Schlüsselwort. Wert entsprechend denMenu
CATEGORY_*
Konstanten, die die Priorität der Gruppe festlegen. Gültige Werte:
Wert | Beschreibung |
---|---|
container |
Für Gruppen, die Teil eines Containers sind. |
system |
Für Gruppen, die vom System bereitgestellt werden. |
secondary |
Für Gruppen, bei denen es sich um vom Benutzer bereitgestellte sekundäre (selten verwendete) Optionen handelt. |
alternative |
Für Gruppen, bei denen es sich um alternative Aktionen zu den aktuell angezeigten Daten handelt. |
android:orderInCategory
Ganzzahl. Die Standardreihenfolge der Elemente innerhalb der Kategorie. Beispiel: XML-Datei gespeichert unterres/menu/example_menu.xml
:
Der folgende Anwendungscode bläst das Menü über den onCreateOptionsMenu(Menu)
-Callback auf und deklariert außerdem den On-Click-Callback für zwei der Elemente: