Ricordando i post precedenti, Android sfrutta perfettamente il modello MVC: la prima cosa da fare, quindi, è creare il layout del nostro menù personalizzato. Per fare ciò, per prima cosa bisogna creare una cartella "menu" sottocartella di "res". Selezionare la cartella appena creata e premere "Ctrl + N" oppure fare click con il pulsante destro e scegliere New->Other. Scegliere a questo punto Android XML File e cliccare su Next.
Nella schermata successiva dare un nome al file, ad esempio menubar.xml e fare click su "Finish". Eclipse a questo punto apre automaticamente l'editor per l'xml appena creato, riconoscendo che andrà a specificare la struttura di un menù. Basterà cliccare su "Add" e poi scegliere "Item" per aggiungere un elemento al menù. Ovviamente bisogna specificare:
- Id: @+id/item_exit
Tutti gli id iniziano per @+id/ e sono seguiti dal nome identificativo, in questo caso item_exit - Title e Title Condensed: Esci
Sono il titolo e il titolo breve del menù, in questo caso "Esci" - Icon: @drawable/ic_exit
L'icona associata al bottone. Android cercherà l'icona ic_exit.png sotto le cartelle res/drawable-*
@Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menubar, menu); return true; }Il codice crea un menù sulla base del file xml specificato (menubar, sotto la cartella menu). Adesso bisogna associare un determinato comportamento alla pressione dei vari bottoni del menù creato. Anche qui, un semplice override con un codice che discrimina l'id del pulsante premuto:
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.item_exit: finish(); return true; default: return super.onOptionsItemSelected(item); } }La funzione finish() chiede ad Android di "terminare" l'attività corrente; se quest'ultima è quella principale, il sistema tornerà al menù principale (la home). In realtà, Android ha una gestione dei processi e della loro terminazione tutta sua, quindi anche se l'applicazione non viene mostrata a schermo, può essere che sia ancora in memoria.
Ed ora il risultato finale:
Questo è un esempio con un solo bottone nel menù; ovviamente basta ripetere le semplici operazioni precedenti per aggiungerne ad oltranza. Con una piccola restrizione: Android non mostra più di 6 bottoni. Tutti quelli che oltrepassano questa soglia vengono raccolti un un bottone magico "Altro".
Nessun commento:
Posta un commento