Layout
La struttura grafica di un’activity prende il nome di Layout, ci sono due modi per crearla:
- procedurale – l’implementazione dell’interfaccia grafica nel codice;
- dichiarativa – non richiede la scrittura di codice, ma è rappresentato dalla creazione di una pagina statica;
È possibile un layout ibrido, creata in modo dichiarativo e controllata in modo procedurale. Anche se la realizzazione drag-and-drop sembra la via più veloce, è consigliabile la conoscenza della sintassi XML e le corrispondenti classi Java.
I tipi di layout fondamentali sono:
- LinearLayout – gli elementi sono distribuiti in maniera sequenziale dall’alto verso il basso o da sinistra a destra, l’attributo orientation specifica in quale senso verranno disposti;
- AbsoluteLayout – gli elementi vengono posizionati nella posizione specificata;
- TableLayout – gli elementi sono distribuiti in una tabella, TabletRow continene tutti gli elementi di una riga;
- RelativeLayout – gli elementi si posizionano in relazione l’uno all’altro o rispetto al loro contenitore;
La prima cosa da inserire quando definiamo il layout è la dichiarazione degli attributi XML
xmlns:android=”http://schemas.android.com/apk/res/android”
Notiamo la presenza di due attributi che definiscono la capacità di estendersi in altezza e larghezza, dimensione espressa in dp oppure:
- wrap_content – dimensioni sufficienti per includere il suo contenuto;
- match_parent – si estende fino a toccare il suo contenitore;
All’interno del layout possiamo inserire dei semplici controlli oppure altri layout annidati.
Una classe che incontriamo nelle interfacce utente è View derivata da ViewGroup, essa mostra un spetto grafico e gestisce eventi relativi all’interazione con l’utente.
Le tipologie principali sono:
- layout – struttura della pagina;
- controlli utenti – per rendere le applicazioni interattive;
- AdapterView – view che collaborano nella realizzazione del pattern;
Un elemento per essere usato va etichettato tramite il parametro id, generalmente troviamo un valore simile
@+id/identificatore
Il simbolo + sta ad indicare che il nome viene definito se già non lo era.
La gestione degli eventi viene realizzata tramite listener, oltre al click vengono gestiti i seguenti eventi:
- cambiamento del focus;
- pressione di una chiave hardware;
- evento longClick;
- gestione touch;