Speisekartenressource
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Eine Menüressource definiert ein Anwendungsmenü – ein Optionsmenü, ein Kontextmenü oder ein Untermenü –, das mit MenuInflater
aufgebläht werden kann.
Eine Anleitung zur Verwendung von Menüs finden Sie unter Menüs hinzufügen.
- Dateispeicherort:
res/menu/filename.xml
Der Dateiname wird als Ressourcen-ID verwendet.
- kompilierter Ressourcentyp:
- Ressourcenzeiger auf eine Ressource vom Typ
Menu
(oder Unterklasse)
- Ressourcenreferenz:
-
In Java:
R.menu.filename
In XML: @[package:]menu.filename
- Syntax:
-
<?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>
- Elemente:
-
- Erforderlich. Das muss der Root-Knoten sein. Enthält
<item>
- und/oder <group>
-Elemente.
Attribute:
xmlns:android
- XML-Namespace. Erforderlich. Definiert den XML-Namespace. Dieser muss
"http://schemas.android.com/apk/res/android"
sein.
<item>
- Ein Menüpunkt Kann ein
<menu>
-Element (für ein Untermenü) enthalten.
Muss einem <menu>
- oder <group>
-Element untergeordnet sein.
Attribute:
android:id
- Ressourcen-ID. Eine eindeutige Ressourcen-ID. Verwenden Sie das Formular
"@+id/name"
, um eine neue Ressourcen-ID für dieses Element zu erstellen. Das Plus-Symbol zeigt an, dass dies als neue ID erstellt wurde.
android:title
- Stringressource. Der Menütitel als Stringressource oder Rohstring.
android:titleCondensed
- Stringressource. Ein komprimierter Titel als String-Ressource oder Rohstring. Er wird für Situationen verwendet, in denen der normale Titel zu lang ist.
android:icon
- Drawable-Ressource. Ein Bild, das als Symbol für das Menü verwendet werden soll.
android:onClick
- Methodenname. Die Methode, die aufgerufen werden soll, wenn auf dieses Menüelement geklickt wird. Die Methode muss in der Aktivität als „öffentlich“ deklariert werden. Als einzigen Parameter darf
MenuItem
verwendet werden, um anzugeben, auf welches Element auf das Element geklickt wurde. Diese Methode hat Vorrang vor dem Standard-Callback von onOptionsItemSelected()
. Sehen Sie sich dazu das Beispiel am Ende dieser Seite an.
Warnung:Wenn Sie Ihren Code mit ProGuard oder einem ähnlichen Tool verschleiern, schließen Sie die in diesem Attribut angegebene Methode von der Umbenennung aus, da dies die Funktionalität beeinträchtigen kann.
Eingeführt in API-Level 11.
android:showAsAction
- Keyword. Wann und wie dieses Element als Aufgabe in der App-Leiste angezeigt wird. Ein Menüpunkt kann nur dann als Aufgabe angezeigt werden, wenn die Aktivität eine App-Leiste enthält. Gültige Werte:
Antwort | Beschreibung |
ifRoom | Platziere dieses Element nur dann in der App-Leiste, wenn genug Platz dafür ist. Wenn nicht für alle mit "ifRoom" gekennzeichneten Elemente Platz ist, werden die Elemente mit den niedrigsten orderInCategory -Werten als Aktionen angezeigt. Die verbleibenden Elemente werden im Dreipunkt-Menü angezeigt. |
withText | Fügen Sie der Aufgabe auch den Titeltext (definiert durch android:title ) hinzu. Sie können diesen Wert zusammen mit einem der anderen Werte als Flag festlegen, indem Sie sie durch einen senkrechten Strich | trennen. |
never | Platzieren Sie dieses Element niemals in der App-Leiste. Listen Sie das Element stattdessen im Dreipunkt-Menü der App-Leiste auf. |
always | Dieses Element muss immer in der App-Leiste platziert werden.
Verwenden Sie diese Option nur, wenn es unbedingt immer in der Aktionsleiste angezeigt wird. Wenn mehrere Elemente immer als Aktionselemente angezeigt werden, kann dies dazu führen, dass sie andere UI-Elemente in der App-Leiste überlappen. |
collapseActionView | Die mit dieser Aufgabe verknüpfte Aktionsansicht (wie in android:actionLayout oder android:actionViewClass deklariert) kann minimiert werden. Eingeführt in API-Level 14. |
Weitere Informationen finden Sie unter App-Leiste hinzufügen.
Eingeführt in API-Level 11.
android:actionLayout
- Layoutressource. Layout, das als Aktionsansicht verwendet werden soll
Weitere Informationen finden Sie unter Aktionsansichten und Aktionsanbieter verwenden.
Eingeführt in API-Level 11.
android:actionViewClass
- Kursname. Ein voll qualifizierter Klassenname für
View
, der als Aktionsansicht verwendet werden soll. Beispiel: "android.widget.SearchView"
, um SearchView
als Aktionsansicht zu verwenden.
Weitere Informationen finden Sie unter Aktionsansichten und Aktionsanbieter verwenden.
Warnung:Wenn Sie Ihren Code mit ProGuard oder einem ähnlichen Tool verschleiern, müssen Sie die in diesem Attribut angegebene Klasse von der Umbenennung ausschließen, da dies die Funktionalität beeinträchtigen kann.
Eingeführt in API-Level 11.
android:actionProviderClass
- Kursname. Ein voll qualifizierter Klassenname für
ActionProvider
, der anstelle der Aufgabe verwendet wird. Beispiel: "android.widget.ShareActionProvider"
, um ShareActionProvider
zu verwenden.
Weitere Informationen finden Sie unter Aktionsansichten und Aktionsanbieter verwenden.
Warnung:Wenn Sie Ihren Code mit ProGuard oder einem ähnlichen Tool verschleiern, müssen Sie die in diesem Attribut angegebene Klasse 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 Tastenkombination.
android:numericShortcut
- Ganzzahl. Zahl für die numerische Tastenkombination
android:alphabeticModifiers
- Keyword. Ein Modifikator für die alphabetische Tastenkombination für den Menüpunkt. Der Standardwert entspricht dem Schlüssel Strg. Gültige Werte:
Antwort | Beschreibung |
META |
Entspricht dem Metaschlüssel Meta. |
STRG |
Entspricht der Metataste Strg. |
ALT. |
Entspricht der Meta-Taste Alt. |
UMSCHALTUNG |
Entspricht der Metataste Umschalttaste. |
SYM-Datei |
Entspricht dem Metaschlüssel Sym. |
FUNKTION |
Entspricht der Metataste Funktion. |
Hinweis: Sie können in einem Attribut mehrere Keywords angeben. android:alphabeticModifiers="CTRL|SHIFT"
bedeutet beispielsweise, dass der Nutzer zum Auslösen des entsprechenden Menüpunkts die Metataste Strg und Umschalttaste zusammen mit der Tastenkombination drücken muss.
Mit der Methode setAlphabeticShortcut()
können Sie die Attributwerte programmatisch festlegen. Weitere Informationen zum Attribut alphabeticModifier
finden Sie unter alphabeticModifiers
.
android:numericModifiers
- Keyword. Ein Modifikator für die numerische Tastenkombination eines Menüpunkts.
Der Standardwert entspricht dem Schlüssel Strg. Gültige Werte:
Antwort | Beschreibung |
META |
Entspricht dem Metaschlüssel Meta. |
STRG |
Entspricht der Metataste Strg. |
ALT. |
Entspricht der Meta-Taste Alt. |
UMSCHALTUNG |
Entspricht der Metataste Umschalttaste. |
SYM-Datei |
Entspricht dem Metaschlüssel Sym. |
FUNKTION |
Entspricht der Metataste Funktion. |
Hinweis: Sie können in einem Attribut mehrere Keywords angeben. android:numericModifiers="CTRL|SHIFT"
bedeutet beispielsweise, dass der Nutzer zum Auslösen des entsprechenden Menüpunkts die Metataste Strg und Umschalttaste zusammen mit der Tastenkombination drücken muss.
Mit der Methode setNumericShortcut()
können Sie die Attributwerte programmatisch festlegen. Weitere Informationen zum Attribut numericModifier
finden Sie unter numericModifiers
.
android:checkable
- Boolescher Wert. „True“, wenn das Element überprüfbar ist.
android:checked
- Boolescher Wert. „True“, wenn das Element standardmäßig ausgewählt ist.
android:visible
- Boolescher Wert. „True“, wenn das Element standardmäßig sichtbar ist.
android:enabled
- Boolescher Wert. „True“, wenn das Element standardmäßig aktiviert ist.
android:menuCategory
- Keyword. Wert, der den
Menu
-Konstanten CATEGORY_*
entspricht, die die Priorität des Elements definieren. Gültige Werte:
Antwort | Beschreibung |
container | Für Elemente, die Teil eines Containers sind. |
system | Für Elemente, die vom System bereitgestellt werden. |
secondary | Für Elemente, die vom Nutzer bereitgestellte sekundäre (selten verwendete) Optionen sind. |
alternative | Bei Elementen, die alternative Aktionen
für die aktuell angezeigten Daten sind. |
android:orderInCategory
- Ganzzahl. Die Wichtigkeit eines Elements innerhalb einer Gruppe.
<group>
- Eine Menügruppe zum Erstellen einer Sammlung von Elementen mit gemeinsamen Merkmalen, z. B. ob sie sichtbar, aktiviert oder auswählbar sind. Enthält ein oder mehrere
<item>
-Elemente. Muss einem <menu>
-Element untergeordnet sein.
Attribute:
android:id
- Ressourcen-ID. Eine eindeutige Ressourcen-ID. Verwenden Sie das folgende Formular, um eine neue Ressourcen-ID für dieses Element zu erstellen:
"@+id/name"
. Das Plus-Symbol zeigt an, dass dies als neue ID erstellt wurde.
android:checkableBehavior
- Keyword. Die Art des auswählbaren Verhaltens für die Gruppe. Gültige Werte:
Antwort | Beschreibung |
none | Nicht auswählbar. |
all | Alle Elemente können ausgewählt werden (mithilfe von Kästchen). |
single | Es kann nur ein Element ausgewählt werden. Verwenden Sie dazu die Optionsfelder. |
android:visible
- Boolescher Wert. „True“, wenn die Gruppe sichtbar ist.
android:enabled
- Boolescher Wert. True, wenn die Gruppe aktiviert ist.
android:menuCategory
- Keyword. Wert, der den
Menu
-Konstanten CATEGORY_*
entspricht, die die Priorität der Gruppe definieren. Gültige Werte:
Antwort | Beschreibung |
container | Für Gruppen, die Teil eines Containers sind. |
system | Für Gruppen, die vom System bereitgestellt werden. |
secondary | Für Gruppen, die vom Nutzer bereitgestellte sekundäre (selten verwendete) Optionen sind. |
alternative | Für Gruppen, die alternative Aktionen
für die aktuell angezeigten Daten darstellen. |
android:orderInCategory
- Ganzzahl. Die Standardreihenfolge der Elemente innerhalb einer Kategorie.
- Beispiel:
- XML-Datei gespeichert unter
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>
Mit dem folgenden Anwendungscode wird das Menü aus dem onCreateOptionsMenu(Menu)
-Callback aufgebläht und außerdem der On-Click-Callback für zwei der Elemente deklariert:
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.
}
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2024-04-02 (UTC).
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Benötigte Informationen nicht gefunden"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Zu umständlich/zu viele Schritte"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Nicht mehr aktuell"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problem mit der Übersetzung"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problem mit Beispielen/Code"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Sonstiges"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Leicht verständlich"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Mein Problem wurde gelöst"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Sonstiges"
}]