back to top

I layout: il LinearLayout – Guida Sviluppo App Android

Arrivati a questo punto della guida sono stati presentati molti argomenti e mostrato il codice relativo alla creazione di tutti i principali elementi. Quello che ancora manca è un approfondimento sul posizionamento di tali elementi, che viene effettuato grazie ai layout. Nei capitoli introduttivi abbiamo accennato al LinearLayout ed in questa parte della guida andremo ad analizzare in maniera più approfondita questo e tutti gli altri messi a disposizione da Android.

LinearLayout

E’ uno tra i layout più utilizzati nelle applicazioni Android. La particolarità di questo layout, come abbiamo visto, è quello di disporre gli elementi inseriti nella finestra dell’activity uno di seguito all’altro.

A seconda del valore dell’orientazione del LinearLayout si parla di LinearLayout verticale (gli elementi vengono disposti uno dopo l’altro dall’alto verso il basso) e LinearLayout orizzontale (gli elementi vengono disposti uno dopo l’altro da sinistra verso destra). Per poter settare l’orientamento del layout è sufficiente, nel file .xml utilizzato, editare la seguente proprietà con il valore vertical o horizontal:

android:orientation=""

Come detto i componenti aggiunti al layout vengono disposti su una linea verticale o orizzonatale a seconda dell’orientamento dato al layout. Questi elementi vengono aggiunti alla finestra finchè c’è spazio e non appena si richiede l’inserimento di un ulteriore elemento, android cerca di ridimensionarlo per inserirlo comunque all’interno dello schermo. Questo comportamento è limitato ad una soglia dopo la quale, semplicemente, gli elementi aggiunti non verranno visualizzati sullo schermo.

Si consiglia al lettore di non inserire mai elementi in eccesso in quanto il ridimensionamento automatico fatto da Android spesso deforma i componenti inseriti rendendo l’interfaccia grafica poco gradevole se non, addirittura, poco usabile. Inoltre gli elementi che Android, per mancanza di spazio, non mostra a schermo risiedono comunque in memoria andando a occupare spazio prezioso.

Per mostrare un esempio di quanto detto, andiamo a costruire un LinearLayout orizzonatale con tre bottoni, a cui poi ne aggiungeremo un quarto per mostrare il ridimensionamento e l’interfaccia grafica che ne scaturisce. A differenza di quanto visto finora, creeremo l’interfaccia grafica direttamente da codice Java senza appoggiarsi ad un file esterno .xml. Ciò viene mostrato al lettore per presentare questo diverso modo di operare (per comodità importiamo direttamente android.widget.*):

LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.HORIZONTAL); 
layout.setGravity(Gravity.BOTTOM);

Button button1 = new Button (this); 
button1.setText("Bottone 1");
Button button2 = new Button (this); 
button2.setText("Bottone 2");
Button button3 = new Button (this); 
button3.setText("Bottone 3");

layout.addView(button1); 
layout.addView(button2); 
layout.addView(button3); 
setContentView(layout);

Come prima cosa dichiariamo un oggetto di tipo LinearLayout, poi settiamo l’orientamento orizzontale del layout ed infine settiamo la posizione (in basso dello schermo) dove andremo a posizionare i nostri oggetti. Dichiariamo poi tre bottoni, li associamo al layout con addView ed infine utilizziamo il metodo setContentView per associare il layout alla finestra dell’activity.

Andiamo adesso ad inserire un quarto bottone (si lascia per esercizio al lettore la scrittura del codice) al layout e come possiamo vedere dallo screenshot seguente il ridimensionamento deforma il bottone, mostrando un’interfaccia non molto omogenea:

Ridimensionamento oggetti nel LinearLayout.
Pubblicità

In questa guida...