Zasób menu

Zasób menu definiuje menu aplikacji (menu opcji, menu kontekstowe lub podmenu), które może być nadmuchane za pomocą MenuInflater.

W celu uzyskania przewodnika na temat używania menu, zobacz przewodnik Menusdeveloper.

lokalizacja pliku:res/menu/filename.xml
Nazwa pliku zostanie użyta jako identyfikator zasobu. compiled resource datatype: Wskaźnik zasobu do zasobuMenu(lub podklasy). resource reference: W języku Java:R.menu.filename
W XML:@menu.filenameskładnia: elementy:<menu>Wymagane. To musi być węzeł główny. Zawiera elementy<item>i/lub<group>.

atrybuty:

xmlns:androidPrzestrzeń nazw XML. Wymagane. Określa przestrzeń nazw XML, która musi być"http://schemas.android.com/apk/res/android".<item>Element menu. Może zawierać element<menu>(dla podmenu). Musi być elementem potomnym elementu<menu>lub<group>.

atrybuty:

android:idIdentyfikator zasobu. Unikalny identyfikator zasobu. Aby utworzyć nowy identyfikator zasobu dla tego elementu, należy użyć formularza:"@+id/name". Symbol plusa oznacza, że powinien zostać utworzony jako nowy identyfikator.android:titleZasób łańcuchowy. Tytuł menu w postaci zasobu łańcuchowego lub surowego łańcucha znaków.android:titleCondensedZasób łańcuchowy. Skrócony tytuł w postaci zasobu łańcuchowego lub surowego łańcucha. Tytuł ten jest używany w sytuacjach, w których normalny tytuł jest zbyt długi.android:iconZasób Drawable. Obrazek, który ma być wykorzystany jako ikona pozycji menu.android:onClickNazwa metody. Metoda, która ma zostać wywołana po kliknięciu tej pozycji menu. Metoda musi być zadeklarowana w aktywności jako publiczna i przyjmowaćMenuItemjako swój jedyny parametr, który wskazuje na kliknięty element. Ta metoda ma pierwszeństwo przed standardowym wywołaniem zwrotnym doonOptionsItemSelected(). Zobacz przykład na dole.

Ostrzeżenie: Jeśli obfuscate swój kod za pomocą ProGuard (lub podobnego narzędzia),upewnij się, aby wykluczyć metodę, którą określasz w tym atrybucie, ze zmiany nazwy, ponieważ może to złamać funkcjonalność.

Introduced in API Level 11.

android:showAsActionKeyword. Kiedy i w jaki sposób ten element powinien pojawiać się jako element akcji na pasku aplikacji. Pozycja menu może pojawić się jako pozycja akcji tylko wtedy, gdy czynność zawiera pasek aplikacji. Prawidłowe wartości:

Value Description
ifRoom Tylko umieszczaj ten element na pasku aplikacji, jeśli jest na niego miejsce. Jeśli nie ma miejsca dla wszystkich elementów oznaczonych "ifRoom", elementy o najniższych wartościach orderInCategory są wyświetlane jako akcje, a pozostałe elementy są wyświetlane w menu przepełnienia.
withText Dołącz także tekst tytułu (zdefiniowany przez android:title) do elementu akcji. Możesz dołączyć tę wartość wraz z jedną z pozostałych jako zestaw flag, oddzielając je za pomocą rury |.
never Nigdy nie umieszczaj tego elementu w pasku aplikacji. Zamiast tego wymień ten element w menu przepełnienia paska aplikacji.
always Zawsze umieszczaj ten element na pasku aplikacji.Unikaj używania tej opcji, chyba że jest bardzo ważne, aby element zawsze był wyświetlany na pasku akcji. Ustawienie wielu elementów tak, aby zawsze pojawiały się jako elementy akcji, może spowodować ich nakładanie się z innymi elementami UI na pasku aplikacji.
collapseActionView Widok akcji związany z tym elementem akcji (zadeklarowany przez android:actionLayout lubandroid:actionViewClass) jest zwijany.
Wprowadzony na poziomie API 14.

Zobacz klasę szkoleniową Dodawanie paska aplikacji, aby uzyskać więcej informacji.

Wprowadzony na poziomie API 11.

android:actionLayoutZasób układu. Układ do użycia jako widok akcji.

Zobacz Widoki akcji i Dostawcy akcji, aby uzyskać więcej informacji.

Wprowadzono w API Level 11.

android:actionViewClassNazwa klasy. W pełni kwalifikowana nazwa klasy dlaViewdo użycia jako widok akcji. Na przykład"android.widget.SearchView", aby użyćSearchViewjako widoku akcji.

Zobacz Action Views i Action Providers, aby uzyskać więcej informacji.

Ostrzeżenie: Jeśli obfuscate swój kod za pomocą ProGuard (lub podobnego narzędzia),upewnij się, aby wykluczyć klasę, którą określasz w tym atrybucie ze zmiany nazwy, ponieważ może to złamać funkcjonalność.

Wprowadzone w API Level 11.

android:actionProviderClassNazwa klasy. W pełni kwalifikowana nazwa klasy dlaActionProviderdo użycia w miejsce elementu akcji. Na przykład"android.widget.ShareActionProvider", aby użyćShareActionProvider.

Zobacz Action Views i Action Providers, aby uzyskać więcej informacji.

Ostrzeżenie: Jeśli obfuscate swój kod za pomocą ProGuard (lub podobnego narzędzia),upewnij się, aby wykluczyć klasę, którą określasz w tym atrybucie ze zmiany nazwy, ponieważ może to złamać funkcjonalność.

Introduced in API Level 14.

android:alphabeticShortcutChar. Znak dla alfabetycznego klucza skrótu.android:numericShortcutInteger. Liczba dla numerycznego klawisza skrótu.android:alphabeticModifiersKeyword. Modyfikator skrótu alfabetycznego dla pozycji menu. Wartość domyślna odpowiada klawiszowi Control. Prawidłowe wartości:

.

Value Description
META Odpowiada kluczowi meta Meta
CTRL Odpowiada klawiszowi meta Control
ALT Odpowiada klawiszowi meta Alt meta
SHIFT Odpowiada klawiszowi meta Shift
SYM Odpowiada klawiszowi meta do klucza meta Sym
FUNCTION Odpowiada kluczowi meta Function

Uwaga: Można określić wiele słów kluczowych w atrybucie. Na przykład android:alphabeticModifiers="CTRL|SHIFT" wskazuje, że aby wywołać odpowiedni element menu, użytkownik musi nacisnąć oba klawisze meta Control i Shift wraz ze skrótem klawiszowym.

Możesz użyć metody setAlphabeticShortcut(), aby programowo ustawić wartości atrybutów. Aby uzyskać więcej informacji na temat atrybutu alphabeticModifier, przejdź do alphabeticModifiers.

android:numericModifiersSłowo kluczowe. Modyfikator skrótu numerycznego pozycji menu. Wartość domyślna odpowiada klawiszowi Control. Prawidłowe wartości:

.

Value Description
META Odpowiada kluczowi meta Meta
CTRL Odpowiada meta-kluczowi Control
ALT Odpowiada meta-kluczowi Alt
SHIFT Odpowiada meta klawiszowi Shift
SYM Odpowiada do klucza meta Sym
FUNCTION Odpowiada kluczowi meta Function

Uwaga: Można określić wiele słów kluczowych w atrybucie. Na przykład android:numericModifiers="CTRL|SHIFT" wskazuje, że aby wywołać odpowiedni element menu, użytkownik musi nacisnąć oba klawisze meta Control i Shift wraz ze skrótem klawiszowym.

Możesz użyć metody setNumericShortcut(), aby programowo ustawić wartości atrybutów. Aby uzyskać więcej informacji na temat atrybutu numericModifier, przejdź do numericModifiers.

android:checkableBoolean. „true”, jeśli element jest sprawdzalny.android:checkedBoolean. „true” jeśli element jest domyślnie sprawdzany.android:visibleBoolean. „true”, jeśli element jest domyślnie widoczny.android:enabledBoolean. „true”, jeśli element jest domyślnie włączony.android:menuCategorySłowo kluczowe. Wartość odpowiadająca stałymMenuCATEGORY_*, które określają priorytet elementu. Prawidłowe wartości:

Value Description
container Dla elementów, które są częścią acontainer.
system Dla elementów, które są dostarczane przezsystem.
secondary Dla elementów, które są drugorzędnymi (rzadko używanymi) opcjami dostarczonymi przez użytkownika.
alternative Dla elementów, które są alternatywnymi działaniami na aktualnie wyświetlanych danych.

android:orderInCategoryInteger. Kolejność „ważności” pozycji, w ramach grupy.<group>Grupa menu (do tworzenia zbioru elementów, które mają wspólne cechy, takie jak to, czy są widoczne, włączone lub sprawdzalne). Zawiera jeden lub więcej elementów<item>. Musi być achildem elementu<menu>.

atrybuty:

android:idIdentyfikator zasobu. Unikalny identyfikator zasobu. Aby utworzyć nowy identyfikator zasobu dla tego elementu, należy użyć formularza:"@+id/name". Symbol plusa oznacza, że należy go utworzyć jako nowy identyfikator.android:checkableBehaviorSłowo kluczowe. Typ zachowania podlegającego sprawdzeniu dla grupy. Prawidłowe wartości:

Wartość Opis
none Nie podlega sprawdzaniu
all Wszystkie elementy. mogą być zaznaczone (użyj checkboxów)
single Tylko jeden element może być zaznaczony (użyj radiobuttonów)

android:visibleBoolean. „true” jeśli grupa jest widoczna.android:enabledBoolean. „true”, jeśli grupa jest włączona.android:menuCategorySłowo kluczowe. Wartość odpowiadająca stałymMenuCATEGORY_*, które określają priorytet grupy. Prawidłowe wartości:

Value Description
container Dla grup, które są częścią acontainer.
system Dla grup, które są dostarczane przezsystem.
secondary Dla grup, które są drugorzędnymi (rzadko używanymi) opcjami dostarczonymi przez użytkownika.
alternative Dla grup, które są alternatywnymi działaniami na aktualnie wyświetlanych danych.

android:orderInCategoryInteger. Domyślna kolejność elementów w ramach kategorii. przykład: Plik XML zapisany pod adresemres/menu/example_menu.xml:

Następujący kod aplikacji nadmuchuje menu z wywołania zwrotnego onCreateOptionsMenu(Menu), a także deklaruje wywołanie zwrotne on-clickcallback dla dwóch z pozycji:

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.