Risposte:
LinearLayout
significa che è possibile allineare le viste una per una (verticalmente / orizzontalmente).
RelativeLayout
significa basato sulla relazione di opinioni dei suoi genitori e di altre opinioni.
ConstraintLayout
è simile a un RelativeLayout in quanto utilizza le relazioni per posizionare e dimensionare i widget, ma ha ulteriore flessibilità ed è più facile da usare nell'Editor layout.
WebView
per caricare pagine html, statiche o dinamiche.
FrameLayout
per caricare i bambini uno sopra l'altro, come le carte all'interno di un riquadro, possiamo posizionarli uno sopra l'altro o ovunque all'interno del riquadro.
deprecato - AbsoluteLayout
significa che devi dare la posizione esatta dove dovrebbe essere la vista.
Per ulteriori informazioni, consultare questo indirizzo https://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts
AbsoluteLayout
è deprecato per un motivo; se il contenuto non si adatta, getta casualmente le cose in giro. Stai meglio con a LinearLayout
e impostando tutti i suoi padding su 0
.
FrameLayout è progettato per bloccare un'area sullo schermo per visualizzare un singolo elemento. In generale, FrameLayout dovrebbe essere utilizzato per contenere una vista figlio singola, poiché può essere difficile organizzare le viste figlio in un modo che sia scalabile a dimensioni dello schermo diverse senza che i bambini si sovrappongano. Tuttavia, è possibile aggiungere più figli a un FrameLayout e controllare la loro posizione all'interno di FrameLayout assegnando la gravità a ciascun figlio, utilizzando l'
android:layout_gravity
attributo.Le viste figlio sono disegnate in una pila, con l'ultimo figlio aggiunto in cima. La dimensione del FrameLayout è la dimensione del suo figlio maggiore (più imbottitura), visibile o meno (se il padre del FrameLayout lo consente).
Un RelativeLayout è un'utilità molto potente per la progettazione di un'interfaccia utente perché può eliminare i gruppi di viste nidificate e mantenere piatta la gerarchia del layout, migliorando le prestazioni. Se ti ritrovi a utilizzare diversi gruppi LinearLayout nidificati, potresti essere in grado di sostituirli con un singolo RelativeLayout.
(Documenti attuali qui )
Un TableLayout è composto da un numero di
TableRow
oggetti, ognuno dei quali definisce una riga (in realtà, puoi avere altri figli, che verranno spiegati di seguito). I contenitori TableLayout non visualizzano le linee di confine per le loro righe, colonne o celle. Ogni riga ha zero o più celle; ogni cella può contenere un oggetto View. La tabella ha tante colonne quante sono le righe con il maggior numero di celle. Una tabella può lasciare celle vuote. Le celle possono estendersi su colonne, come in HTML.La larghezza di una colonna è definita dalla riga con la cella più larga in quella colonna.
Nota : il layout assoluto è obsoleto.
LinearLayout: un layout che organizza i suoi figli in una singola riga orizzontale o verticale. Crea una barra di scorrimento se la lunghezza della finestra supera la lunghezza dello schermo. Ciò significa che è possibile allineare le viste una per una (verticalmente / orizzontalmente).
RelativeLayout: consente di specificare la posizione degli oggetti figlio l'uno rispetto all'altro (figlio A alla sinistra del figlio B) o al genitore (allineato alla parte superiore del genitore). Si basa sulla relazione delle opinioni dei suoi genitori e di altre opinioni.
WebView: per caricare pagine html, statiche o dinamiche.
Per ulteriori informazioni, consultare questo link: http://developer.android.com/guide/topics/ui/layout-objects.html
LinearLayout - In LinearLayout, le viste sono organizzate in orientamento verticale o orizzontale.
RelativeLayout - RelativeLayout è molto più complesso di LinearLayout, quindi offre molte più funzionalità. Le viste sono posizionate, come suggerisce il nome, una rispetto all'altra.
FrameLayout : si comporta come un singolo oggetto e le sue viste figlio sono sovrapposte. FrameLayout prende le dimensioni di secondo l'elemento figlio più grande.
Layout del coordinatore : questo è il ViewGroup più potente introdotto nella libreria di supporto Android. Si comporta come FrameLayout e ha molte funzionalità da coordinare tra le viste figlio, ad esempio pulsante mobile e snackbar, Barra degli strumenti con vista scorrevole.
Grande spiegazione qui:
https://www.cuelogic.com/blog/using-framelayout-for-designing-xml-layouts-in-android
LinearLayout organizza gli elementi fianco a fianco in orizzontale o in verticale.
RelativeLayout ti aiuta a organizzare gli elementi dell'interfaccia utente in base a regole specifiche. È possibile specificare regole come: allineare questo al bordo sinistro del genitore, posizionarlo a sinistra / a destra di questi elementi ecc.
AbsoluteLayout serve per il posizionamento assoluto, ovvero è possibile specificare coordinate esatte dove dovrebbe andare la vista.
FrameLayout consente il posizionamento delle viste lungo l'asse Z. Ciò significa che puoi impilare gli elementi della vista uno sopra l'altro.