..


Sponsede Lenker

Meny: Den ContextMenu

I tidligere kapitler har vi analysert i detalj hva slags menyen IconMenu som generelt er mest brukt. En annen ressurs som Android tilbyr oss er det ContextMenu som kan lumped sammen som struktur og drift, på menyen som vises når du klikker på høyre museknapp på alle Windows-ikonet.

Det ContextMenu faktum er ikke vist til brukeren etter et trykk på en knapp på enheten (som det var for IconMenu), men er assosiert med en bestemt widget vises til brukeren, og etter en langvarig høyreklikke på denne widgeten.

Selvfølgelig, i en aktivitet, kan du opprette ContextMenu og deretter knytte dem til ulike widgets, eller opprette en enkelt ContextMenu er assosiert med flere forskjellige widgets.

Vi skal nå vise koden som trengs for å lage to ulike og deretter knytte en ContextMenu med en knapp og en annen til en TextView (før du går inn koden du trenger for å importere pakken android.view.ContextMenu .*):






 public void onCreate (Bundle savedInstanceState) {



  



 super.onCreate (savedInstanceState);

  

  



 LinearLayout mioLayout LinearLayout = ny (denne);

 

  

  



 Button = ny knapp (denne);

 

  



 bottone.setId (1);



  



 button1.setText ("forbundet med en menyknapp");

 

        

  



 TextView tv = new TextView (denne);



  



 tv.setText ("Gi et klikk for langvarig contextmenu");



  



 tv.setId (2);



  

  



 mioLayout.addView (knapp);



  



 mioLayout.addView (TV);



  



 setContentView (layout);



  

  



 registerForContextMenu (knapp);

 

  



 registerForContextMenu (TV);







 }









 public void onCreateContextMenu (ContextMenu ContextMenu, Vis visning ContextMenuInfo menuInfo) {



  



 if (view.getId () == 1) {



    



 menu.setHeaderTitle ("the ContextMenu knappen");



    



 menu.add (Menu.NONE, 1, 1, "Voice knapp 1");



    



 menu.add (Menu.NONE, 2, 2, "Voice knapp 2");



  



 }



  



 else if (view.getId () == 2) {



    



 menu.setHeaderTitle ("ContextMenu of TextView");



    



 menu.add (Menu.NONE, 3, 1, "punkt 1 TextView");



    



 menu.add (Menu.NONE, 4, 2, "pkt 2 TextView");



  



 }







 }



Vi analyserer den foreslåtte kode. Som for innholdet av metoden onCreate eneste linjene med kode sett er de knyttet til påkalling av metoden som kombinerer registerForContextMenu, sendes som en parameter til widgeten, noen ContextMenu.

Av større interesse er at onCreateContextMenu metode istedenfor skjebne, inneholder koden for ContextMenu at vi ønsker å skape. I dette tilfellet, å skape en ny meny for de to widgets, brukte vi metoden getId () av den oppfatning at påberopes metoden onCreateContextMenu (innstilling til id av de to widgets er utført ved hjelp av metoden onCreate setId ()).

Hvis vi går inn for å legge til menyelementer vi ønsker med den vanlige metoden med skallet og legg metoden for å sette en tittel setHeaderTitle ContextMenu.

For å knytte en bestemt atferd ved et trykk på en av knappene på menyen du jobber på samme måte sett i forrige kapittel, men for OptionMenu inn ønsket kode i metoden onContextItemSelected (MENUITEM elementet).

Hjelp utvikle programmer for Android
E-læring
Excel (Ebook) Excel (Ebook)
Lag regneark og beregning. Bare 25 €.
OpenOffice (Ebook) OpenOffice (Ebook)
The open-source programvare for å administrere kontorarbeid. Bare 25 €.
PHP (Course) PHP (Course)
Full kurs for å lage dynamiske nettsider. Fra 49 €.
Sponsede Lenker