2016-06-23 22 views
28

Perché RelativeLayout sostituito in ConstraintLayout nel file di layout predefinito di un'attività Android vuota. Devo sapere perché dovremmo usare ConstraintLayout, quali altri vantaggi ci offre.Perché scegliere il layout Vincoli poiché abbiamo già il layout relativo?

+29

Perché è nuovo. E le cose nuove sono splendenti –

+2

Essenzialmente è un migliore 'RelativeLayout'. Può fare molte cose che il 'RelativeLayout' non può e ha prestazioni molto migliori. –

+0

E ovviamente è un piacere lavorare con. Puoi semplificare i layout come mai con un 'RelativeLayout'. Incoraggio chiunque a giocarci, è fantastico. Ovviamente non usare l'editor grafico, sono sempre terribili. Modifica direttamente l'xml per ottenere il massimo dai tuoi layout. –

risposta

18

Come previsto da Xaver Kapeller: "Lo scopo principale di ConstraintLayout è di risolvere i problemi con RelativeLayout, e lo fa così bene.È possibile fare tante cose che erano impossibili con un RelativeLayout. E puoi semplificare il tuo layout come mai prima, inoltre risolve un problema di prestazioni di lunga data di RelativeLayout, la doppia tassazione durante la fase di misura/layout, quindi otteniamo prestazioni migliori, più versatilità e layout molto più semplici in un unico pacchetto. "

Un ulteriore vantaggio dell'uso è che consente di creare i layout utilizzando un editor di stile trascina e rilascia visivamente in un modo che RelativeLayout potrebbe non essere simile a Interface Builder in Xcode.

Layout di vincoli: questo nuovo layout è un gestore di layout flessibile per l'app che consente di creare interfacce utente dinamiche senza annidare più layout. È distribuito come libreria di supporto che è strettamente accoppiata con Android Studio e retrocompatibile con API Livello 9.

A prima vista, il layout di vincoli è simile a RelativeLayout. Tuttavia, il layout di vincoli è stato progettato per essere utilizzato in Studio e è in grado di esprimere in modo efficiente la progettazione dell'app in modo da basarsi su un numero inferiore di layout come LinearLayout, FrameLayout, TableLayout o GridLayout. Infine, con il motore di inferenza dei vincoli automatici incorporato. Tu puoi liberamente progettare la tua interfaccia utente a tuo piacimento e lasciare che Android Studio esegua il duro lavoro di .

+3

puoi darmi qualche esempio? dove il layout relativo è fallito o richiede più tempo/codice rispetto a ConstraintLayout? –

+0

Mi piace questa risposta meglio della risposta nella domanda collegata perché evidenzia che ConstraintLayout è superiore a RelativeLayout e non solo ad un altro sapore. – AnthonyW