ich gerade fragen, wenn die CoordinatorLayout über „Traditional“ Layouts zu wählen oder sind sie (oder zumindest einige von ihnen) gehen bis veraltet sein?
So ConstraintLayout
ist nützlich, aber (jetzt) es ist nicht für die Android-App-Entwicklung erforderlich, jede mehr als LinearLayout
und RelativeLayout
sind. Und weil ConstraintLayout
eine Bibliothek ist, müssen Sie einige zusätzliche Schritte ausführen, um es zu Ihrem Projekt hinzuzufügen (com.android.support.constraint:constraint-layout
Artefakt in Ihrem Abhängigkeiten Schließung der build.gradle-Datei Ihres Moduls), und es fügt ~ 100KB zu der Größe von deine Android App.
Ich persönlich bin so daran gewöhnt, Layout von Hand in xml so Übergang zum ConstraintLayout ist sehr schwer für mich zu schreiben.
Drag & Drop GUI-Builder
Google versucht, das Leben leichter zu Entwicklern zu machen und machen sie arbeiten schneller und produktiver, so dass sie per Drag & Drop GUI-Builder weiter zu verbessern. Aber Drag-and-Drop-Gesten, der Entwickler ist nur liefert Ihnen X/Y-Koordinaten eines Widgets, basierend auf, wo der Entwickler die Maustaste loslässt und den Tropfen vervollständigt. Mit LinearLayout
Hinzufügen von Widgets ist einfach. Mit RelativeLayout
ist schwierig für GUI Bulder Drag-Drop zu behandeln und wahrscheinlich müssen Sie in den XML-Code zu graben, um Dinge erledigt zu bekommen. ConstraintLayout
wurde mit GUI-Gebäude im Hinterkopf erstellt, um es leichter zu die richtigen Regeln basierend darauf, wo der Entwickler zufällig ein Widget fallen zu lassen.
recomputing Größe und Position
Ändern der Details eines Widgets verursachen oft die Größen neu berechnet werden zu lassen. Zum Beispiel nne Änderung in TextView
könnte bewirken, dass die gesamte Hierarchie zu re-size/re-Position arbeiten gehen. Wenn Sie einen Container innerhalb eines Containers haben, der sich in einem anderen Container usw. befindet, bedeutet dies, dass die Eltern ihre Kinder neu sortieren/neu positionieren, und das kann für tiefe Hierarchien sehr teuer sein. So
Hat der ConstraintLayout eines bessere Leistung hat dann ein verschachteltes -Layout?
Ja, ConstraintLayout
mit Leistung konzipiert ist, versucht so viele Pass-Szenarien wie möglich zu beseitigen und indem man versucht, die Notwendigkeit tief verschachtelte Ansicht Hierarchien zu beseitigen.
Huh,
für mehr Sie einen Blick in ein Buch über Android-Entwicklung von CommonsWare nehmen. Dort mit ConstraintLayout
wird in mehr Details mit Vergleich Beispielen mit anderen Behältern wie , RelativeLayout
usw. erklärt Wirklich Anatomie der Android-Entwicklung.
Danke, das hat mir wirklich sehr geholfen! Auf lange Sicht muss ich mich also an das ConstraintLayout anpassen.Ich werde es vermissen, Layouts manuell zu schreiben. –
Ihre Begrüßung. Ich bin froh, dass meine Antwort für dich nützlich war. – Yupi