Haben Sie eine Idee, wie Sie das neue Constraint-Layout verwenden, das kürzlich bei der diesjährigen Google I/O angekündigt wurde?Verwendung des neuen Android Constraint-Layouts zur Reduzierung der View-Hierarchie
Antwort
Sie können zu einer vorhandenen Layout-Ressourcendatei wechseln, den visuellen Editor öffnen und mit der rechten Maustaste auf ein RelativeLayout (z. B.) klicken und auf die Option zum Konvertieren in ein Constraint-Layout klicken.
Sie müssen auch die Gradle Abhängigkeit in build.gradle Datei hinzufügen:
compile 'com.android.support.constraint:constraint-layout:1.0.0'
Von Docs
Wenn Sie ein vorhandenes Projekt aktualisieren, gehen Sie wie folgt vor:
Stellen Sie sicher, dass Sie über das neueste Android-Support-Repository verfügen (Version 32 oder höher): // Dies war der Teil, der für mich fehlte
Klicken Sie auf Extras> Android> SDK-Manager. Klicken Sie auf die Registerkarte SDK-Tools. Wählen Sie das Android Support Repository und klicken Sie auf OK.
die aktualisierte Constraint-Layout Bibliothek als Abhängigkeit in Ihrer build.gradle Datei hinzufügen:
dependencies {
compile 'com.android.support.constraint:constraint-layout:1.0.0'
}
in der Symbolleiste oder Sync-Benachrichtigung, klicken Sie auf Sync-Projekt mit Gradle Dateien.
- Rechtsklick auf dem Modul Layout-Verzeichnis, und klicken Sie auf Neu> XML> Layout XML:
Um ein neues Constraint Layout zu Ihrem Projekt hinzufügen. Geben Sie einen Namen für das Layout ein und geben Sie "android.support.constraint.ConstraintLayout" für das Stamm-Tag ein. Klicken Sie auf Fertig stellen.
Um ein vorhandenes Layout zu einem Constraint-Layout konvertieren:
- Ihr bestehendes Layout in Android Studio öffnen und das Register Design am unteren Rande des Editorfensters auswählen. Klicken Sie im Komponentenbaum mit der rechten Maustaste auf das Layout, und klicken Sie dann auf ConvertLayout.
Go obwohl dieser link von Google CodeLabs. Sie haben eine Grundidee von Constraint Layout und wie verschiedene Einschränkungen wie Manual Constraint
, Auto Connect
& Inference
zu verwenden.
Auch gibt es UI Builder
& Inspector
die uns helfen wird, schneller UI zu bauen.
Ich habe viele Version versucht, aber ich konnte das Problem nicht lösen! Endlich lasse ich Android Studio dieses Problem lösen.
In der XML-Datei, Neben Fehlermeldung können Sie diese Option sehen! Klicken Sie auf das zu reccomonded Version
zu importieren oder können Sie drücken Sie Alt + geben Sie Ihren Cursor auf Fehlerzeile platzieren
Ich habe Constraint-Layout: 1.0.0-alpha8, wenn ich gedrückt alt + geben Sie
kompilieren 'com.android.support.constraint: Constraint-Layout: 1.0.0-alpha8'
Ich verwende die neueste Version von Android Studio, und neben der Fehlermeldung wird das Symbol Optionen nicht angezeigt. – AndroidDev
1) Um ein neues Layout zu entwerfen ConstraintLayout verwenden, schließt die Abhängigkeit in der app.gradle Datei
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha8'
Hinweis: Für jede Ansicht im Layout, müssen Sie folgende Attribute enthalten, sonst die Ansichten gezeigt werden um (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) Um eine vorhandene Layout-Datei in ein Constraint-Layout konvertieren:
Ihr bestehendes Layout in Android Studio öffnen und das Register Design am unteren Rande des Editorfensters auswählen. Klicken Sie im Fenster Komponentenbaum mit der rechten Maustaste auf das Stammlayout, und klicken Sie auf In ConstraintLayout konvertieren. Fügen Sie dann die oben definierten Attribute ein.
Ändern Sie die Abhängigkeiten in der Datei build.gradle
.
Verwenden Sie stattdessen kompilieren com.android.support.constraint:constraint-layout:1.0.0-beta1
.
Google veröffentlichte die offizielle Version 1.jetzt 0 ConstraintLayout
die nicht Beta-Version
compile 'com.android.support.constraint:constraint-layout:1.0.0'
prüfen info http://tools.android.com/recent/constraintlayout10isnowavailable
Sie sollten hinzufügen google Maven-Repository in Modulebene gradle Datei (wichtiger Teil)
importierenrepositories {
maven {
url 'https://maven.google.com'
}
}
dann diese Zeile in Abhängigkeiten hinzu:
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 beschreibt die Kosten einer herkömmlichen Layout-Hierarchie. Es gibt ein Beispiel für dieses Layout mit verschachtelten Layouts gebaut
und behauptet, dass
ConstraintLayout etwa 40% besser im Takt/Layout-Phase führt als RelativeLayout
Diese Codelab project zeigt, wie die ConstaintLayout verwendet Ansicht Hierarchie zu reduzieren und die oben genannte Layout glättet.
Wenn jemand diese Antwort am 8. November sehen ist, 2016 und ab, benutzen Sie bitte 'com.android.support.constraint: Constraint-Layout: 1.0.0-beta3' Infect, die besten Weg, um dieses Problem zu lösen, wird in dieser Antwort gezeigt http://stackoverflow.com/a/39631045/1362418 –
Dieses neue Layout, sollten wir noch Landscape-Modus XML für diese bereitstellen? Oder es wird automatisch die Komponentenbasis auf dieser Seillinie fließen. – RoCk
Ab Android Studio 2.3 können Sie 'com.android.support.constraint: constraint-layout: 1.0.2' verwenden. –