Zdroj nabídky

Zdroj nabídky definuje nabídku aplikace (nabídku možností, kontextovou nabídku nebo podnabídku), kterou lze nafouknout pomocí MenuInflater.

Průvodce používáním nabídek naleznete v příručce Menusdeveloper.

umístění souboru:res/menu/filename.xml
Jméno souboru bude použito jako ID prostředku. zkompilovaný datový typ prostředku: Ukazatel na prostředekMenu(nebo podtřídu). odkaz na prostředek: V jazyce Java:R.menu.filename
V jazyce XML:@menu.filenameSyntaxe: elementy:<menu>Povinné. Musí se jednat o kořenový uzel. Obsahuje prvky<item>a/nebo<group>.

atributy:

xmlns:androidjmenný prostor XML. Povinné. Definuje jmenný prostor XML, kterýmusí být"http://schemas.android.com/apk/res/android".<item>Prvek nabídky. Může obsahovat prvek<menu>(pro dílčí nabídku). Musí být potomkem prvku<menu>nebo<group>.

atributy:

android:idID zdroje. Jedinečné ID prostředku. Chcete-li pro tento prvek vytvořit nové ID prostředku, použijte formulář:"@+id/name". Symbol plus označuje, že má být vytvořen jako newID.android:titleŘetězcový zdroj. Název nabídky jako řetězcový zdroj nebo surový řetězec.android:titleCondensedŘetězcový zdroj. Zkrácený název jako řetězcový prostředek nebo surový řetězec. Tento název se používá v situacích, kdy je normální název příliš dlouhý.android:iconDrawable resource (kreslitelný zdroj). Obrázek, který se použije jako ikona položky nabídky.android:onClickNázev metody. Metoda, která se zavolá při kliknutí na tuto položku nabídky. Metoda musí být v aktivitě deklarována jako veřejná a jako jediný parametr musí přijímatMenuItem, který označuje položku, na kterou bylo kliknuto. Tato metoda má přednost před standardní zpětnou vazbou naonOptionsItemSelected(). Viz příklad v dolní části.

Upozornění: Pokud kód obfuskujete pomocí nástroje ProGuard (nebo podobného nástroje),nezapomeňte vyloučit metodu uvedenou v tomto atributu z přejmenování, protože to může narušit funkčnost.

Zavedeno v API úrovně 11.

android:showAsActionKlíčové slovo. Kdy a jak se má tato položka zobrazit jako položka akce na panelu aplikací. Položka nabídky se může zobrazit jako akční položka pouze v případě, že aktivita obsahuje panel aplikací. Platné hodnoty:

Hodnota Popis
ifRoom Tuto položku umístěte do panelu aplikací pouze tehdy, je-li pro ni místo. Pokud není místo pro všechny položky označené "ifRoom", zobrazí se jako akce položky s nejnižšími hodnotami orderInCategory a ostatní položky se zobrazí v přetékající nabídce.
withText K položce akce patří také text názvu (definovaný pomocí android:title). Tuto hodnotu můžete zahrnout spolu s jednou z ostatních jako sadu příznaků, a to tak, že je oddělíte fajfkou |.
never Nikdy tuto položku neumisťujte do panelu aplikací. Místo toho položku uveďte v přetékající nabídce panelu aplikací.
always Vždy umístěte tuto položku na panel aplikací. vyhněte se použití této možnosti, pokud není rozhodující, aby se položka vždy zobrazovala na panelu akcí. Nastavení více položek tak, aby se vždy zobrazovaly jako položky akce, může vést k jejich překrývánís ostatními uživatelskými rozhraními na panelu aplikací.
collapseActionView Zobrazení akce spojenés touto položkou akce (deklarované pomocí android:actionLayout neboandroid:actionViewClass) jeskládací.
Zavedeno v API úrovně 14.

Další informace naleznete ve výukové třídě Přidání panelu aplikací.

Zavedeno v API úrovně 11.

android:actionLayoutProstředek rozvržení. Rozložení, které se použije jako akční zobrazení.

Další informace naleznete v části Zobrazení akcí a zprostředkovatelé akcí.

Zavedeno v API Level 11.

android:actionViewClassNázev třídy. Plně kvalifikovaný název třídy proViewpoužití jako akčního zobrazení. Například"android.widget.SearchView"pro použitíSearchViewjako akčního zobrazení.

Další informace naleznete v části Zobrazení akcí a zprostředkovatelé akcí.

Upozornění: Pokud kód obfuskujete pomocí nástroje ProGuard (nebo podobného nástroje),nezapomeňte vyloučit třídu zadanou v tomto atributu z přejmenování, protože to může narušit funkčnost.

Zavedeno v úrovni API 11.

android:actionProviderClassNázev třídy. Plně kvalifikovaný název třídyActionProvider, který se použije místo položky akce. Například"android.widget.ShareActionProvider"pro použitíShareActionProvider.

Další informace naleznete v části Zobrazení akcí a zprostředkovatelé akcí.

Upozornění: Pokud kód obfuskujete pomocí nástroje ProGuard (nebo podobného nástroje),nezapomeňte vyloučit třídu zadanou v tomto atributu z přejmenování, protože to může narušit funkčnost.

Zavedeno v API úrovně 14.

android:alphabeticShortcutZnak. Znak pro abecední klávesovou zkratku.android:numericShortcutCelé číslo. Číslo pro číselnou klávesovou zkratku.android:alphabeticModifiersKlíčové slovo. Modifikátor pro abecední klávesovou zkratku položky nabídky. Výchozí hodnota odpovídá klávese Control. Platné hodnoty:

.

Hodnota Popis
META Odpovídá meta klávese Meta
CTRL Odpovídá meta klávese Control
ALT Odpovídá Alt metaklávesa
SHIFT Odpovídá metaklávese Shift
SYM Odpovídá metaklávese Sym
FUNCTION Odpovídá metaklávese Function

Poznámka: V atributu můžete zadat více klíčových slov. Například android:alphabeticModifiers="CTRL|SHIFT" označuje, že pro spuštění příslušné položky nabídky musí uživatel spolu s klávesovou zkratkou stisknout i metaklávesy Control a Shift.

Pro programové nastavení hodnot atributů můžete použít metodu setAlphabeticShortcut(). Další informace o atributu alphabeticModifier naleznete na stránce alphabeticModifiers.

android:numericModifiersKlíčové slovo. Modifikátor číselné zkratky položky nabídky. Výchozí hodnota odpovídá klávese Control. Platné hodnoty:

.

Hodnota Popis
META Odpovídá metaklíči Meta
CTRL Odpovídá metaklávese Control
ALT Odpovídá metaklávese Alt klávesa
SHIFT Odpovídá meta klávese Shift
SYM Odpovídá metaklávese Sym
FUNCTION Odpovídá metaklávese Function

Poznámka: V atributu můžete zadat více klíčových slov. Například android:numericModifiers="CTRL|SHIFT" označuje, že pro spuštění příslušné položky nabídky musí uživatel spolu s klávesovou zkratkou stisknout i metaklávesy Control a Shift.

Pro programové nastavení hodnot atributů můžete použít metodu setNumericShortcut(). Další informace o atributu numericModifier naleznete na stránce numericModifiers.

android:checkableBoolean. „true“, pokud je položka kontrolovatelná.android:checkedBoolean. „true“, pokud je položka ve výchozím nastavení zaškrtnuta.android:visibleBoolean. „true“, pokud je položka ve výchozím nastavení viditelná.android:enabledLogická hodnota. „true“, pokud je položka ve výchozím nastavení povolena.android:menuCategoryKlíčové slovo. Hodnota odpovídající konstantámMenuCATEGORY_*, které určují prioritu položky. Platné hodnoty:

Hodnota Popis
container Pro položky, které jsou součástí kontejneru.
system Pro položky, které poskytuje systém.
secondary Pro položky, které jsou sekundárními(zřídka používanými) možnostmi dodávanými uživatelem.
alternative Pro položky, které jsou alternativními akcemina aktuálně zobrazená data.

android:orderInCategoryCelé číslo. Pořadí „důležitosti“ položky, v rámci skupiny.<group>Skupina nabídek (pro vytvoření kolekce položek, které mají společné znaky, například zda jsouviditelné, povolené nebo zaškrtnutelné). Obsahuje jeden nebo více prvků<item>. Musí být dítětem prvku<menu>.

atributy:

android:idID zdroje. Jedinečné ID prostředku. Chcete-li pro tento prvek vytvořit nové ID prostředku,použijte formulář:"@+id/name". Symbol plus označuje, že má být vytvořen jako newID.android:checkableBehaviorKlíčové slovo. Typ kontrolovatelného chování pro skupinu. Platné hodnoty:

Hodnota Popis
none Není kontrolovatelné
all Všechny položky. lze zaškrtnout (použít zaškrtávací políčka)
single Lze zaškrtnout pouze jednu položku (použít radiobutton)

android:visibleBoolean. „true“, pokud je skupina viditelná.android:enabledBoolean. „true“, pokud je skupina povolena.android:menuCategoryKlíčové slovo. Hodnota odpovídající konstantámMenuCATEGORY_*, které definují prioritu skupiny. Platné hodnoty:

Hodnota Popis
container Pro skupiny, které jsou součástí kontejneru.
system Pro skupiny, které poskytuje systém.
secondary Pro skupiny, které jsou uživatelem dodanými sekundárními(zřídka používanými) možnostmi.
alternative Pro skupiny, které jsou alternativními akcemina aktuálně zobrazená data.

android:orderInCategoryCelé číslo. Výchozí pořadí položek v rámci kategorie. příklad: XML soubor uložený na adreseres/menu/example_menu.xml:

Následující kód aplikace naplní nabídku ze zpětného volání onCreateOptionsMenu(Menu) a také deklaruje zpětné volání při kliknutí pro dvě z položek:

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.