AndroidProgrammazione

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;