Avete qualche idea su come utilizzare il nuovo layout di vincoli che è stato recentemente annunciato all'I/O di Google di quest'anno?Come utilizzare il nuovo layout di vincoli Android per ridurre la gerarchia di visualizzazione
risposta
È possibile passare a un file di risorse di layout esistente, aprire l'editor visuale e fare clic con il pulsante destro del mouse su RelativeLayout (ad esempio) e fare clic sull'opzione per convertire in un layout di vincolo.
È inoltre necessario aggiungere la dipendenza Gradle nel file di build.gradle:
compile 'com.android.support.constraint:constraint-layout:1.0.0'
Da Docs
Se si sta aggiornando un progetto esistente, procedere come segue:
Assicurati di avere l'ultimo repository di supporto Android (versione 32 o successiva): // Questa era la parte che mancava per me
Fare clic su Strumenti> Android> Manager SDK. Fare clic sulla scheda Strumenti SDK. Selezionare il repository di supporto Android, quindi fare clic su OK.
aggiungere la libreria Vincolo layout aggiornato come una dipendenza nel file build.gradle:
dependencies {
compile 'com.android.support.constraint:constraint-layout:1.0.0'
}
Nella barra degli strumenti o la notifica di sincronizzazione, fare clic su Progetto Sincronizzazione con Gradle Files.
Per aggiungere un nuovo layout vincolo al progetto:
- tasto destro del mouse sulla cartella layout del modulo, quindi fare clic su Nuovo> XML> XML Layout. Inserire un nome per il layout e inserire "android.support.constraint.ConstraintLayout" per il tag di root. Fare clic su Fine.
Per convertire un layout esistente a un layout vincolo:
- Aprire il layout esistente in Android Studio e selezionare la scheda Progettazione nella parte inferiore della finestra dell'editor. Nella finestra della struttura dei componenti, fare clic con il pulsante destro del mouse sul layout e fare clic su Converti in ConstraintLayout.
andare anche se questo link da Google CodeLabs. Avrai l'idea di base di Layout di vincoli e come utilizzare diversi vincoli come Manual Constraint
, Auto Connect
Inference
.
Inoltre c'è UI Builder
& Inspector
che ci aiuterà a costruire un'interfaccia utente più veloce.
Ho provato molte versioni, ma non ho potuto risolvere il problema! Finalmente ho lasciato Android Studio per risolvere questo problema.
Nel file XML, accanto al messaggio di errore è possibile visualizzare questa opzione! Fare clic su quella di importare la versione reccomonded
oppure è possibile premere Alt + Invio posizionando il cursore sulla linea di errore
Ho vincolo layout: 1.0.0-alpha8, quando ho premuto Alt + immettere
compilare 'com.android.support.constraint: vincolo di layout: 1.0.0-alpha8'
Sto utilizzando l'ultima versione di Android Studio e non ottenere l'icona Opzioni accanto al messaggio di errore. – AndroidDev
1) di progettare un nuovo layout con ConstraintLayout, includere la dipendenza nel file app.gradle
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8'
Nota: Per ogni vista nel layout, è necessario includere seguenti attributi, altrimenti vengono mostrati i punti di vista a (0,0).
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
....>
<View
android:id="@+id/top_view"
.../>
<View
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/top_view"
app:layout_constraintBottom_toTopOf="@+id/bottom_view"
..../>
<View
android:id="@+id/bottom_view"
.../>
</android.support.constraint.ConstraintLayout>
2) Per convertire un file di layout esistente in un layout di vincolo:
Aprire il layout esistente in Android Studio e selezionare la scheda Progettazione nella parte inferiore della finestra dell'editor. Nella finestra della struttura dei componenti, fare clic con il pulsante destro del mouse sul layout principale e fare clic su Converti in ConstraintLayout. Quindi includi gli attributi sopra definiti.
Modificare le dipendenze nel file build.gradle
.
Utilizzare invece compilare com.android.support.constraint:constraint-layout:1.0.0-beta1
.
Google ha rilasciato la versione ufficiale 1.0 ConstraintLayout
ora importare la versione non beta
compile 'com.android.support.constraint:constraint-layout:1.0.0'
controllare qui informazioni http://tools.android.com/recent/constraintlayout10isnowavailable
si dovrebbe aggiungere repository Maven google nel file di Gradle livello di modulo (parte importante)
repositories {
maven {
url 'https://maven.google.com'
}
}
quindi aggiungere questa linea in dipendenze:
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support.constraint:constraint-layout-solver:1.0.2'
Understanding the performance benefits of ConstraintLayout descrive la spesa di una gerarchia di layout tradizionale. Esso fornisce un esempio di questo layout costruito con layout nidificate
e ferma che
ConstraintLayout esegue circa il 40% in più nella fase misura/disposizione di RelativeLayout
Questo Codelab project mostra come utilizzare il ConstaintLayout per ridurre Visualizza gerarchia e appiattire il layout di cui sopra.
Se uno sta visualizzando questa risposta l'8 novembre, 2016 e poi, si prega di utilizzare 'com.android.support.constraint: vincolo di layout: 1.0.0-beta3' Infect, il migliore il modo per risolvere questo problema è mostrato in questa risposta http://stackoverflow.com/a/39631045/1362418 –
Questo nuovo layout, dovremmo ancora fornire la modalità orizzontale xml per questo? Oppure scorrerà automaticamente i componenti base su quella corda. – RoCk
Da Android Studio 2.3 in poi, è possibile utilizzare 'com.android.support.constraint: vincolo di layout: 1.0.2'. –