..
I tidigare kapitel har vi analyserat i detalj IconMenu typ menyn som i allmänhet är de mest använda. En annan resurs som Android erbjuder oss är ContextMenu som kan klumpas samman som struktur och funktion, i menyn som visas när du klickar med höger musknapp på en Windows-ikon.
Det ContextMenu faktum är inte visas för användaren efter en knapptryckning på enheten (som den var för IconMenu), men är förenat med en viss widget visas för användaren, och efter en långvarig högerklicka på denna widget.
Självklart i en aktivitet kan du skapa ContextMenu och sedan associera dem med olika widgets, eller skapa en enda ContextMenu är förknippad med flera olika widgets.
Vi kommer nu att visa den kod som behövs för att skapa två olika och sedan associera ett ContextMenu med en knapp och en annan till en Textview (innan du anger koden du behöver för att importera paketet android.view.ContextMenu .*):
public void oncreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
LinearLayout mioLayout LinearLayout = new (this);
Knapp = new Button (this);
bottone.setId (1);
button1.setText ("associeras med en meny-knappen");
Textview TV = nya Textview (this);
tv.setText ("Ge ett klick för långvarig ContextMenu");
tv.setId (2);
mioLayout.addView (knappen);
mioLayout.addView (TV);
setContentView (layout);
registerForContextMenu (knappen);
registerForContextMenu (TV);
}
public void onCreateContextMenu (ContextMenu ContextMenu, Visa uppfattning ContextMenuInfo menuInfo) {
if (view.getId () == 1) {
menu.setHeaderTitle ("ContextMenu knappen");
menu.add (Menu.NONE, 1, 1, "Voice knapp 1");
menu.add (Menu.NONE, 2, 2, "Röst-knapp 2");
}
else if (view.getId () == 2) {
menu.setHeaderTitle ("ContextMenu av Textview");
menu.add (Menu.NONE, 3, 1, "Punkt 1 Textview");
menu.add (Menu.NONE, 4, 2, "Punkt 2 Textview");
}
}
Vi analyserar den föreslagna koden. När det gäller innehållet i metoden oncreate den enda kodrader någonsin sett är de som rör åkallan av den metod som kombinerar registerForContextMenu, skickas som en parameter till widgeten, någon ContextMenu.
Av större intresse är att onCreateContextMenu metod istället för ödet, innehåller koden för ContextMenu att vi vill skapa. I det här fallet för att skapa en annan meny för de två widgets, använde vi metoden getId () anser att åberopade metoden onCreateContextMenu (inställning ID för två widgets utförs med hjälp av setId metoden oncreate ()).
Om vi går in för att lägga till menyobjekt vi vill med den vanliga metoden att använda skalet och lägg till metod för att ställa en ContextMenu titel setHeaderTitle.
För att associera ett visst beteende vid ett tryck på en av knapparna på menyn du arbetar på samma sätt sett i föregående kapitel, dock för OptionMenu in önskad kod i metoden onContextItemSelected (MENUITEM punkt).
| |
Javascript (Kurs)
Komplett guide till klient-side-scripting. Från 39 €. |
| |
Bränna CD-och DVD-skivor (ebook)
Guide för att bränna CD och DVD med freeware-program. Bara 25 €. |
| |
Webbdesign (kurs)
Designa webbsidor med HTML, CSS och dynamisk HTML. Från 39 €. |