AndroidProgrammazione

Struttura del menu e actionbar

Le app android per interagire con l’utente fanno uso del menù, le tipologie più comuni sono:

  • options menu – è il menù principale dell’applicazione e contiene le voci generali riguardanti le impostazioni dell’app;
  • context menu – questo menù si lega ad un elemento dell’interfaccia e le voci riguardano operazioni da compiere sull’elemento;
  • popup menu – simile al menù contestuale ma che si estende alla regione relativa al contenuto;

Per aggiungere un menù alla nostra activity bisogna crearne la struttura, si tratta di una risorsa quindi va definita nella cartella res/menu.

Questo è un esempio

questo è il risultato:

menu è il contenitore delle voci descritte in item.

Per collegarla all’activity bastano queste poche righe

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}

Il metodo inflate richiede solo due parametri, la risorsa e l’oggetto da configurare. Viene restituito il valore true per confermare la creazione del menù.

Il metodo onOptionItemSelected viene attivato quando l’utente seleziona un elemento del menù

@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
switch (id) {

Per i context o popoup menu i concetti sono simili:

  • definizione della struttura;
  • predisposizione del metodo;
  • definizioni delle azioni;

In aggiunta dobbiamo abbinarlo all’elemento che vuole usare il menù tramite il metodo registerForContextMenu.

Il menù come altri oggetti si trovano nella actionbar, una cornice programmabile che si trova nella parte alta dello schermo. La toolbar è simile alla actionbar ma si può posozionare ovunque.