Zasób menu
    
    
      
    
    
      
      Zadbaj o dobrą organizację dzięki kolekcji
    
    
      
      Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
    
  
  
      
    
  
  
  
  
  
    
    
    
  
  
    
    
    
Zasób menu definiuje menu aplikacji (menu opcji, menu kontekstowe lub podmenu), które
można powiększyć za pomocą MenuInflater.
Wskazówki dotyczące korzystania z menu znajdziesz w artykule Dodawanie menu.
- lokalizacja pliku:
res/menu/filename.xml(- )
Nazwa pliku jest używana jako identyfikator zasobu
- skompilowany typ danych zasobu:
- Wskaźnik zasobu do zasobu Menu(lub podklasy)
- odniesienie do zasobu:
- 
W języku Java: R.menu.filename
 W pliku XML:@[package:]menu.filename
- składnia:
- 
<?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>
- elementy:
- 
  
    - Wymagane. Musi to być węzeł główny. Zawiera <item>lub<group>elementów.Atrybuty: 
        - xmlns:android
- Przestrzeń nazw XML. Wymagane. Definiuje przestrzeń nazw XML, która
musi wynosić "http://schemas.android.com/apk/res/android".
 
- <item>
- Pozycja w menu. Może zawierać element <menu>(dotyczy menu podrzędnego).
      Musi być elementem podrzędnym elementu<menu>lub<group>.Atrybuty: 
        - android:id
- Identyfikator zasobu. Unikalny identyfikator zasobu. Aby utworzyć nowy identyfikator zasobu dla tego elementu, użyj formularza:
"@+id/name"Symbol plusa oznacza, że jest ona utworzona jako nowy
ID.
- android:title
- Zasób ciągu znaków. Tytuł menu w postaci zasobu tekstowego lub nieprzetworzonego ciągu znaków.
- android:titleCondensed
- Zasób ciągu znaków. Skrócony tytuł w postaci zasobu tekstowego lub nieprzetworzonego ciągu. Ten
tytuł jest używany w sytuacjach, gdy zwykły tytuł jest za długi.
- android:icon
- Zasób rysowalny. Obraz, który ma służyć jako ikona pozycji menu.
- android:onClick
- Nazwa metody. Metoda wywoływania po kliknięciu tego elementu menu. 
musi być zadeklarowana w aktywności jako publiczna. Akceptuje ona MenuItemjako
, który wskazuje kliknięty element. Ta metoda ma pierwszeństwo przed standardową metodą
oddzwanianie doonOptionsItemSelected(). Zobacz
na końcu tej strony.Ostrzeżenie: jeśli zaciemniasz kod za pomocą ProGuard lub podobnego narzędzia,
pamiętaj, aby wykluczyć metodę określoną w tym atrybucie ze zmiany nazwy, ponieważ może to spowodować
funkcji. Wprowadzono w interfejsie API poziomu 11. 
- android:showAsAction
- Słowo kluczowe. Kiedy i jak ten element pojawia się jako działanie w aplikacji
            przeglądarki. Działanie w menu może się pojawić tylko wtedy, gdy aktywność zawiera
            na pasku aplikacji. Prawidłowe wartości:
          
            | Wartość | Opis | 
|---|
 | ifRoom | Umieść ten element tylko w
            pasek aplikacji, o ile jest na to miejsce. Jeśli nie ma miejsca dla wszystkich
            elementy oznaczone etykietą "ifRoom", czyli elementy z najniższą
            WartościorderInCategorysą wyświetlane jako działania,
            Pozostałe elementy wyświetlają się w rozszerzonym menu. |  | withText | Dołącz też tekst tytułu (zdefiniowany
do android:title) z działaniem. Możesz podać tę wartość razem z jednym
pozostałych jako flagę, oddzielając je pionową kreską|. |  | never | Nigdy nie umieszczaj tego elementu na pasku aplikacji. Zamiast tego wymień element w rozszerzeniu paska aplikacji
            . |  | always | Zawsze umieszczaj ten element na pasku aplikacji.
Nie używaj jej, chyba że jest konieczne, aby element zawsze pojawiał się w działaniu
przeglądarki. Jeśli ustawisz kilka elementów tak, by były zawsze widoczne jako działania, mogą się one nakładać
z innym interfejsem na pasku aplikacji. |  | collapseActionView | Powiązany widok działań
z tym działaniem (zgodnie z deklaracją android:actionLayoutlubandroid:actionViewClass) to
zwijane.Wprowadzono w interfejsie API na poziomie 14.
 |  
 Zobacz Dodawanie paska aplikacji.
          . Wprowadzono w interfejsie API poziomu 11. 
- android:actionLayout
- Zasób układu. Układ używany jako widok działań.
          Więcej informacji znajdziesz w artykule Korzystanie z działania
            dostawców wyświetleń i działań. Wprowadzono w interfejsie API poziomu 11. 
- android:actionViewClass
- Nazwa zajęć. Pełna i jednoznaczna nazwa zajęć dla: Viewktóry ma być używany jako widok działań. Przykład:"android.widget.SearchView", aby użyć widokuSearchViewjako widoku działań.Więcej informacji znajdziesz w artykule Korzystanie z działania
            dostawców wyświetleń i działań. Ostrzeżenie: jeśli zaciemniasz kod za pomocą ProGuard lub podobnego narzędzia,
pamiętaj, aby wykluczyć klasę określoną w tym atrybucie ze zmiany nazwy, ponieważ może to spowodować uszkodzenie
funkcji. Wprowadzono w interfejsie API poziomu 11. 
- android:actionProviderClass
- Nazwa zajęć. Pełna i jednoznaczna nazwa klasy, której ActionProviderma używać zamiast działania. Przykład:"android.widget.ShareActionProvider", aby użyć aplikacjiShareActionProvider.Więcej informacji znajdziesz w artykule Korzystanie z działania
            dostawców wyświetleń i działań. Ostrzeżenie: jeśli zaciemniasz kod za pomocą ProGuard lub podobnego narzędzia,
pamiętaj, aby wykluczyć klasę określoną w tym atrybucie ze zmiany nazwy, ponieważ może to spowodować uszkodzenie
funkcji. Wprowadzono w interfejsie API poziomu 14. 
- android:alphabeticShortcut
- Char. Znak alfabetycznego klawisza skrótu.
- android:numericShortcut
- Liczba całkowita. Liczba będąca cyfrą klawisza skrótu.
- android:alphabeticModifiers
- Słowo kluczowe. Modyfikator alfabetycznego elementu menu
            skrótu. Wartość domyślna odpowiada wartości Control
            . Prawidłowe wartości:
            
            | Wartość | Opis | 
|---|
 
                | META | Odpowiada meta klawiszowi Meta. |  
                | CTRL | Odpowiada klawiszowi meta Control. |  
                | ALT | Odpowiada klawiszowi meta Alt. |  
                | SHIFT | Odpowiada klawiszowi meta Shift. |  
                | SYM | Odpowiada meta klawiszowi Sym. |  
                | FUNKCJA | Odpowiada klawiszowi meta Funkcja. |  
 Uwaga: w jednej kolumnie
              . Przykład:
              android:alphabeticModifiers="CTRL|SHIFT"oznacza
              aby aktywować odpowiednią pozycję menu, użytkownik musi
              naciśnij jednocześnie klawisze meta Control i Shift
              za pomocą skrótu.
 Możesz użyć metody setAlphabeticShortcut()do:
              ustawiać wartości atrybutów w sposób automatyczny. Więcej informacji na temat konfiguracji
              o atrybuciealphabeticModifier, zobaczalphabeticModifiers
 
- android:numericModifiers
- Słowo kluczowe. Modyfikator skrótu liczbowego elementu menu.
            Wartość domyślna odpowiada klawiszowi Control. Prawidłowa
            wartości:
            
            | Wartość | Opis | 
|---|
 
                | META | Odpowiada meta klawiszowi Meta. |  
                | CTRL | Odpowiada klawiszowi meta Control. |  
                | ALT | Odpowiada klawiszowi meta Alt. |  
                | SHIFT | Odpowiada klawiszowi meta Shift. |  
                | SYM | Odpowiada meta klawiszowi Sym. |  
                | FUNKCJA | Odpowiada klawiszowi meta Funkcja. |  
 Uwaga: w jednej kolumnie
              . Przykład:
              android:numericModifiers="CTRL|SHIFT"oznacza
              aby aktywować odpowiednią pozycję menu, użytkownik musi
              naciśnij jednocześnie klawisze meta Control i Shift
              za pomocą skrótu.
 Aby ustawić, możesz użyć metody setNumericShortcut()wartości atrybutów. Więcej informacji na temat:numericModifier, zobacznumericModifiers
 
- android:checkable
- Wartość logiczna. Prawda, jeśli element jest możliwy do zaznaczenia.
- android:checked
- Wartość logiczna. Prawda, jeśli element jest domyślnie zaznaczony.
- android:visible
- Wartość logiczna. Prawda, jeśli element jest domyślnie widoczny.
- android:enabled
- Wartość logiczna. Prawda, jeśli element jest domyślnie włączony.
- android:menuCategory
- Słowo kluczowe. Wartość odpowiadająca MenuCATEGORY_*stałe, które określają priorytet elementu. Prawidłowe wartości:
            | Wartość | Opis | 
|---|
 | container | W przypadku elementów, które są częścią
kontenera. |  | system | W przypadku produktów dostarczanych przez
systemu. |  | secondary | W przypadku elementów, które zostały przekazane przez użytkownika jako dodatkowe
(rzadko używane). |  | alternative | Elementy, które są działaniami alternatywnymi
na obecnie wyświetlanych danych. |  
 
- android:orderInCategory
- Liczba całkowita. Kolejność ważności elementu w grupie.
 
- <group>
- Grupa menu umożliwiająca utworzenie kolekcji pozycji o wspólnych cechach, takich jak
widoczne, włączone
lub możliwe do wyboru. Zawiera co najmniej 1 element <item>. Musi to być
element podrzędny elementu<menu>.Atrybuty: 
        - android:id
- Identyfikator zasobu. Unikalny identyfikator zasobu. Aby utworzyć nowy identyfikator zasobu dla tego elementu,
użyj formularza:
"@+id/name"Symbol plusa oznacza, że jest ona utworzona jako nowy
ID.
- android:checkableBehavior
- Słowo kluczowe. Typ działania, które można wybrać w przypadku grupy. Prawidłowe wartości:
          
            | Wartość | Opis | 
|---|
 | none | Nie można wybrać. |  | all | Możesz zaznaczyć wszystkie elementy (użyj pól wyboru). |  | single | Możesz wybrać tylko jeden element (użyj opcji
). |  
 
- android:visible
- Wartość logiczna. Prawda, jeśli grupa jest widoczna.
- android:enabled
- Wartość logiczna. Prawda, jeśli grupa jest włączona.
- android:menuCategory
- Słowo kluczowe. Wartość odpowiadająca MenuCATEGORY_*stałych, które określają priorytet grupy. Prawidłowe wartości:
            | Wartość | Opis | 
|---|
 | container | W przypadku grup, które są częścią
kontenera. |  | system | W przypadku grup dostarczanych przez
systemu. |  | secondary | Dla grup przekazanych przez użytkowników jako dodatkowych
(rzadko używane). |  | alternative | Dla grup, które są działaniami alternatywnymi
na obecnie wyświetlanych danych. |  
 
- android:orderInCategory
- Liczba całkowita. Domyślna kolejność elementów w kategorii.
 
 
- przykład:
- Plik XML zapisany o 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>Poniższy kod aplikacji rozszerza menu z wywołania zwrotnego onCreateOptionsMenu(Menu)i deklaruje metodę kliknięcia
zwrotny dla dwóch z tych elementów:
 Kotlinoverride 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.
}Javapublic 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.
}
 
    
  
  
    
      
      
    
    
      
    
    
  
       
    
    
      
    
  
  
  Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
  Ostatnia aktualizacja: 2025-07-29 UTC.
  
  
  
    
      [[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-29 UTC."],[],[]]