..
In de voorgaande hoofdstukken hebben we in detail geanalyseerd van het type menu IconMenu die over het algemeen zijn de meest gebruikte. Een andere bron die Android biedt ons is het ContextMenu die samen kunnen worden kam geschoren als de structuur en werking, het menu dat verschijnt als u met de rechter muisknop klikken op een pictogram van Windows.
Het ContextMenu feit is niet getoond aan de gebruiker na een druk op een knop op het apparaat (zoals het was voor IconMenu), maar gaat gepaard met een bepaalde widget getoond aan de gebruiker, en na een langdurige rechts-klik op deze widget.
Het is duidelijk dat binnen een activiteit, kunt u ContextMenu en vervolgens koppelen aan verschillende widgets, of een enkele ContextMenu is gekoppeld aan meerdere verschillende widgets.
We gaan nu laten zien van de code die nodig is om twee verschillende en vervolgens koppelen een ContextMenu met een knop en een andere om een TextView maken (voordat u de code die u nodig hebt om het pakket te android.view.ContextMenu .* import):
public void onCreate (Bundle savedInstanceState) {
super.onCreate (savedInstanceState);
LinearLayout mioLayout LinearLayout = new (this);
Knop = new Button (this);
bottone.setId (1);
button1.setText ("in verband met een menu-knop");
TexView tv = new TexView (this);
tv.setText ("Geef een klik voor langdurige contextmenu");
tv.setId (2);
mioLayout.addView (button);
mioLayout.addView (TV);
setContentView (lay-out);
registerForContextMenu (button);
registerForContextMenu (TV);
}
public void onCreateContextMenu (ContextMenu ContextMenu, op Bekijken, ContextMenuInfo menuInfo) {
if (view.getId () == 1) {
menu.setHeaderTitle ("de ContextMenu knop");
menu.add (Menu.NONE, 1, 1, "Voice knop 1");
menu.add (Menu.NONE, 2, 2, "Voice knop 2");
}
else if (view.getId () == 2) {
menu.setHeaderTitle ("ContextMenu van TexView");
menu.add (Menu.NONE, 3, 1, "Item 1 TexView");
menu.add (Menu.NONE, 4, 2, "Item 2 TexView");
}
}
We analyseren de voorgestelde code. Wat de inhoud van de methode onCreate de enige regels code ooit gezien hebben betrekking op het aanroepen van de methode die registerForContextMenu combineert doorgegeven als een parameter aan de widget, elke ContextMenu.
Van groter belang is dat onCreateContextMenu methode in plaats van het lot, bevat de code voor de ContextMenu die we willen creëren. In dit geval, het creëren van een ander menu voor de twee widgets, gebruikten we de methode getId () van mening is dat de methode onCreateContextMenu (het instellen van de id van de twee widgets wordt uitgevoerd met behulp van de methode onCreate setId ()) aangeroepen.
Als we naar binnen toe te voegen aan de menu-items die we willen met de gebruikelijke methode met behulp van de schaal en de methode toe te voegen aan een titel setHeaderTitle ContextMenu in te stellen.
Om een specifiek gedrag bij een druk van een van de knoppen op het menu waarin u werkt op dezelfde manier te zien in het vorige hoofdstuk associëren, maar voor het invoeren van de gewenste OptionMenu code binnen de methode onContextItemSelected (menuitem item).
| |
Excel (Ebook)
Maak spreadsheets en berekening. Slechts 25 €. |
| |
Flash MX en ActionScript (Cursus)
Word een ontwikkelaar van websites van 29 €. |
| |
Paint Shop Pro (Eerste)
Web graphics en foto's bewerken met Corel PSP bekend. Van 49 €. |