Létrehozása gyermek menü

Leányvállalatai a menük formájában hétköznapi tárgyak menüponttal, amelynek megválasztása vannak új elemek. A hagyományos siste- max leányvállalata menük jelennek meg, mint egy fa hierarchiában. De Android használ egy másik megközelítés, így könnyű navigálni a menüben eszközökön kis képernyők. Ahelyett, hogy egy fa struktúra, a pop-up ablak jelenik meg, ha kiválaszt egy leányvállalata menü megmutatja az összes terméket.

Add leányvállalata menü, akkor addSubMenu módszer. Azt tartjuk ugyanazokat a paramétereket, mint a módszer hozzá, használható, ha hozzáadjuk a szokásos pontot, akkor megadható egy csoport, egy egyedi azonosítót, és egy szöveget minden gyermek menü. Ön is használja azokat a módszereket és setHeaderIcon setIcon beállítani izobra- zheny, ami megjelenik a fejlécben bar felugró menü és ikonok, ill.

MenuItem tárgyakat ebben az esetben támogatja a lehetőség, mint a menü bejegyzéseket más faj (és kitágult ikonokat). Azonban, ellentétben a hagyományos rendszerek almenük az Android nem támogatja él.

A következő kódrészlet megmutatja egy részlet a végrehajtását processzor onCreateMenuOptions - adjunk hozzá egy gyermek a főmenübe. Ez létrehoz egy új pontot, és állítsa be a fejlécet ikon a gyermek menü.

Almenü sub = menu.addSubMenu (0, 0, Menu.NONE, "almenü"); sub.setHeaderIcon (R.drawable.icon); sub.setIcon (R.drawable.icon);

MenuItem submenuItem = sub.add (0, 0, Menu.NONE, "almenüpontot");

A helyi menü

A helyi menük kötődik egy izolált és következtetések ditsya képviseletet a képernyőn megnyomja a trackball, középső manipulátor D-pad, vagy gombokat a közvetítő elem (az utóbbit kell tartani mintegy három másodpercig).

Kitöltése a kontextus és a főmenü sok tekintetben hasonló. Kétféle módon lehet létrehozni egy helyi menü egy adott reprezentáció.

Létrehozása menüből. Az első megközelítés - létrehozása ContextMenu generalizált objektum osztály számára nézet, ahol a újra kialakult felvezető onCreateContextMenu, az alábbiak szerint:

public void onCreateContextMenu (ContextMenu menü)

A helyi menü áll rendelkezésre belül az aktív tartalmazó osztály megtekintése.

Széles körben használják létre egy helyi menü egy adott hatóanyag nyomós felvezető onCreateContextMenu és nyilvántartási módszer registerForContextMenu szavatolja, hogy a menü is használható. Ezt a folyamatot mutatjuk be Li- Sting 4.29.

Listing 4.29. Hozzárendelése a helyi menü beadványok

public void onCreate (Bundle savedInstanceState)

EditText nézet = új EditText (e);

A regisztráció után teljesítményű processzor onCreateContextMenu akkor aktiválódik, amikor először a helyi menü megjelenítéséhez erre tárgy megtekintése.

Felülbírálja az eljárás onCreateContextMenu és ellenőrizze, hogy milyen ábrázolás okozott, hogy képes legyen töltse ki a menüt a megfelelő pontokat, ahogy a mellékletben a lista 4,29:

public void onCreateContextMenu (ContextMenu menü Nézet v, ContextMenu.ContextMenuInfo menuInfo)

super.onCreateContextMenu (menü, v, menuInfo);

menu.add (0, menu.FIRST, Menu.NONE,

menu.add (0, menu.FIRST + 1, Menu.NONE, "2. pont") setCheckable (igaz) .; menu.add (0, menu.FIRST + 2, Menu.NONE, "3. pont") setShortcut ( '3', '3.'); Almenü sub = menu.addSubMenu ( "almenü");

Mint látható ContextMenu osztályok és menütámogatás ugyanazt a módszert hozzá, ezért olyan módon, hogy töltse ki ezeket a típusokat nem különbözik menüket. Megjegyezzük, hogy az ikonok ugyanakkor nem jelenik meg. Egy Naco, akkor adja meg a nevét és a ikont, amely megjelenik za- golovochnoy szöveges menüsorban.

Android is támogatja a dinamikus töltés helyi menü a szándékkal szűrőt. Ez a mechanizmus lehetővé teszi a tölteléket nyat helyi menüket, jelezve, hogy mely adatok jelenti az aktuális objektum View, és az interjú más alkalmazások bármilyen hatása neki.

A legszembetűnőbb példája ennek a mechanizmusnak - menüpontok. / ?? -. /. rendelkezésre EditText elemekkel. A szűrők használata szándék, hogy töltse ki a helyi menü tárgyalja részletesen a következő fejezetben.

Kiválasztása a helyi menüből kezelik ugyanúgy, mint az aktív menü. Akkor csatolja akár szándékosan, akár OnMenuItemClickListener felület közvetlenül az egyes objektumokhoz MenuItem, és az ún hozza előnyösebb megközelítés - felülírása onContextItemSelected tartozó aktív.

Ez az eseménykezelő aktiválódik, valahányszor egy kontextus Mr. menüből válasszon ki egy elemet.

public boolean onContextItemSelected (MenuItem tétel)

[... menüpontot kiválasztása feldolgozás ...]

Kapcsolódó cikkek