..
I tidligere kapitler har vi analyseret i detaljer, hvilken type menu IconMenu som generelt de mest anvendte. En anden ressource, som Android byder os, er ContextMenu, der kan sammenfattes under ét som struktur og funktion, den menu, der vises, når du klikker med højre museknap på en Windows-ikonet.
Det ContextMenu Faktum er ikke vist for brugeren efter et tryk på en knap på enheden (som det var for IconMenu), men er forbundet med en bestemt widget vises for brugeren, og efter en langvarig højreklikke på denne widget.
Det er klart, inden for en aktivitet, kan du oprette ContextMenu og derefter knytte dem til forskellige widgets, eller oprette en enkelt ContextMenu er forbundet med flere forskellige widgets.
Vi er nu kommer til at vise koden er nødvendig for at oprette to forskellige og derefter knytte en ContextMenu med en knap og en anden til en TextView (før du indtaste koden du skal importere pakken android.view.ContextMenu .*):
public void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
LinearLayout mioLayout LinearLayout = ny (denne);
Button = new Button (denne);
bottone.setId (1);
button1.setText ("i forbindelse med en menu-knap");
TextView tv = nye TextView (denne);
tv.setText ("Giv et klik for langvarig sammenhængsafhængige");
tv.setId (2);
mioLayout.addView (knap);
mioLayout.addView (TV);
setContentView (layout);
registerForContextMenu (knap);
registerForContextMenu (TV);
}
public void onCreateContextMenu (ContextMenu ContextMenu, Vis mening ContextMenuInfo menuInfo) {
if (view.getId () == 1) {
menu.setHeaderTitle ("den ContextMenu knappen");
menu.add (Menu.NONE, 1, 1, "Voice knap 1");
menu.add (Menu.NONE, 2, 2, "Voice knap 2");
}
else if (view.getId () == 2) {
menu.setHeaderTitle ("ContextMenu af TextView");
menu.add (Menu.NONE, 3, 1, "punkt 1 TextView");
menu.add (Menu.NONE, 4, 2, "punkt 2 TextView");
}
}
Vi analyserer den foreslåede kodeks. Hvad angår indholdet af metoden onCreate den eneste linjer kode nogensinde har set, er dem, der vedrører påberåbelse af den metode, der kombinerer registerForContextMenu, videregives som en parameter til widget, enhver ContextMenu.
Af større interesse er, at onCreateContextMenu metode i stedet for skæbne, indeholder koden for ContextMenu, at vi ønsker at skabe. I dette tilfælde, for at skabe en anderledes menu for de to widgets vi brugte den metode getId () af den opfattelse, at påberåbte metoden onCreateContextMenu (fastsættelse af id af de to widgets udføres ved hjælp af metoden onCreate setId ()).
Hvis vi går ind for at tilføje menupunkter, vi ønsker med den sædvanlige metode ved hjælp af skallen og tilføje metode til at vælge en titel setHeaderTitle ContextMenu.
For at knytte en bestemt adfærd ved et tryk på en af knapperne på menuen du arbejder på samme måde set i det foregående kapitel, men for OptionMenu at indtaste den ønskede kode i metoden onContextItemSelected (MENUITEM element).
| |
Javascript (Kursus)
Komplet guide til klient-side scripting. Fra 39 €. |
| |
Photoshop (Kursus)
Web-grafik og foto redigering med den populære Adobe Photoshop. Fra 49 €. |
| |
VB.NET (Kursus)
Gør Desktop Applikationer med Visual Basic .. Fra 49 €. |