Questo altro layout personalizzato nei moduli UI è una variante di RowLayout
.
Se si configura RowLayout
per collocare gli elementi secondari verticalmente (nelle colonne),
e per equiparare i controlli all'interno della colonna, si otterranno diverse colonne (in base alla
larghezza dei controlli), ma l'ultima colonna generalmente non è completamente riempita (in base al
numero di controlli). Inoltre, se collocato in un modulo, otterremo tutti i controlli in una colonna perché
RowLayout
non può eseguire un ritorno a capo "verticale". Se si utilizza GridLayout
,
è necessario scegliere il numero di colonne in anticipo e gestire questa scelta.
Con moduli più complessi, si può avere l'esigenza di gestire un numero di colonne variabile. In altri
termini, il numero può variare in base alla larghezza del modulo, utilizzandone un numero maggiore quando
possibile e riducendo invece il numero se la larghezza diminuisce. Inoltre, può essere opportuno riempire
l'area del modulo in modo equilibrato (con tutte le colonne approssimativamente della stessa altezza). Queste
funzionalità si possono ottenere con ColumnLayout
.
A confronto con TableWrapLayout
, ColumnLayout
è molto più semplice. Non è
richiesta quasi nessuna configurazione. La sola selezione da effettuare è l'intervallo di colonne da
presentare (il valore predefinito è da 1 a 3).