AndroidProgrammazione

Gestione Menu

Ogni applicazione android fa uso dei menu per permettere un’iterazione con l’utente. I menu più comuni sono:

  • Options menu – questo è il menù principale dell’applicazione e permette operazioni di interesse generale;
  • Context menu – si aggancia ad un singolo componente dell’interfaccia utente, permette operazioni relative al componente su cui è stato richiesto;
  • Popup menu – si aggancia ad un elemento di un componente dell’interfaccia utente, permette operazioni specifiche relative all’elemento su cui è stato richiesto;

Per tutti i tipi di menu bisogna definire le voci, nella cartella resource creiamo il file in formato XML; ecco un esempio:

  • id – consente all’applicazione di riconoscere l’elemento;
  • icon – riferimento a un ogetto disegnabile;
  • title – titolo dell’elemento;
  • showAsAction – specifica quando e come questo elemento deve apparire come elemento di azione nella barra delle applicazioni;

 

Option Menu

Ora bisogna collegare il menu all’activity tramite il metodo onCreateOptionsMenu, dentro questo metodo dobbiamo aggiungere gli elementi da visualizzare.

Il metodo onOptionsItemSelected viene chiamato dal sistema appena l’utente seleziona un elemento, possiamo identificare l’elemento selezionato tramite getItemId. Ecco un semplice esempio:

Context Menu

Come per il menu precedente bisogna collegare il menu all’activity tramite il metodo onCreateContextMenu, dentro questo metodo dobbiamo aggiungere gli elementi da visualizzare.

Il metodo onContextItemSelected viene chiamato dal sistema appena l’utente seleziona un elemento, possiamo identificare l’elemento selezionato tramite getItemId. Ecco un semplice esempio:

Popup Menu

Ed infine trattiamo la gestione di un Popup Menu. La creazione di questo particolare menu avviene quando l’utente clicca su un componente dell’interfaccia utente.

Per prima cosa dobbiamo abilitare il componente all’ascolto delle eventuali azioni fatte dall’utente sullo schermo, il metodo che svolge questo scopo è setOnClickListener.

All’evento click viene generato il menu legato al componente, vengono aggiunti gli elementi quindi viene letto l’elemento selezionato dall’utente.

Potete trovare l’intero progetto su GitHub