Ich habe mir gerade die Demo-App der neuen Designbibliothek für Android-Support angesehen. Es wird von Chris Banes auf Github zur Verfügung gestellt . Durch die App CoordinatorLayout
wird stark genutzt. Auch viele der Unterstützung Design - Bibliothek Klassen wie FloatingActionButton
, SnackBar
, AppBarLayout
usw. verhält sich anders , wenn gebrauchte innen CoordinatorLayout
.
Kann einige Lichter auf jemand bitte werfen , was ist CoordinatorLayout
und wie es sich von anderen unterscheidet ViewGroup
s in android, oder zumindest richtigen Weg bieten zu lernen CoordinatorLayout
.
CordinatorLayout
? Welchen Vorteil hat es gegenüber anderen?Antworten:
Hier ist es, wonach Sie suchen.
aus docs
Mit der Designbibliothek
CoordinatorLayout
wird ein Layout eingeführt , das eine zusätzliche Kontrolle über Berührungsereignisse zwischen untergeordneten Ansichten bietet. Dies wird von vielen Komponenten in der Designbibliothek genutzt.https://android-developers.googleblog.com/2015/05/android-design-support-library.html
In diesem Link sehen Sie die Demo-Videos aller oben genannten Ansichten.
hoffe das hilft :)
quelle
Was ist ein CoordinatorLayout? Lassen Sie sich nicht von dem ausgefallenen Namen täuschen, es ist nichts weiter als ein FrameLayout für Steroide
Um am besten zu verstehen, was ein
CoordinatorLayout
ist / tut, müssen Sie zunächst verstehen / bedenken, was es bedeutet, zu koordinieren.Wenn Sie das Wort googeln
Das ist was du bekommst:
Ich denke, diese Definitionen helfen zu beschreiben, was ein CoordinatorLayout alleine macht und wie sich die darin enthaltenen Ansichten verhalten.
Ein CoordinatorLayout (eine ViewGroup) bringt die verschiedenen Elemente (untergeordneten Ansichten) eines (̶a̶ ̶c̶o̶m̶p̶l̶e̶x̶ ̶a̶c̶t̶i̶v̶i̶t̶y̶
Mithilfe eines CoordinatorLayout arbeiten untergeordnete Ansichten harmonisch zusammen, um großartige Verhaltensweisen wie z
Ansichten in einem CoordinatorLayout verhandeln mit anderen, um durch Angabe dieser Verhaltensweisen effektiv zusammenzuarbeiten
Ein CoordinatorLayout ist eine super coole Funktion von Material Design, mit der attraktive und harmonisierte Layouts erstellt werden können.
Sie müssen lediglich die Ansichten Ihres Kindes in das CoordinatorLayout einbinden.
und content_scrolling:
Dies gibt uns ein Layout, das gescrollt werden kann, um die Symbolleiste zu reduzieren und den FloatingActionButton auszublenden
Öffnen:
Geschlossen:
quelle
Ein zusätzlicher Punkt zu beachten. Da OP speziell gefragt
Und ich denke, das liegt daran.
Mit der FAB-Schaltfläche arbeitet SnackBar am Konzept von FrameLayout. Da CoordinatorLayout selbst über die Funktionalität von FrameLayout verfügt, können sich andere Ansichten möglicherweise anders verhalten.
quelle
CoordinatorLayout ist im Wesentlichen das Rahmenlayout mit vielen Funktionen, das aus dem Namen hervorgeht. Es automatisiert die Koordination zwischen seinen Kindern und hilft dabei, schöne Ansichten zu erstellen. Die Implementierung ist in der Google Play Store App zu sehen. Wie die Symbolleiste reduziert und die Farben geändert werden.
Das Beste an CoordinatorLayout ist das Verhalten, das wir seinen direkten oder indirekten Nachkommen geben. Sie müssen beim Scrollen gesehen haben, dass die gesamte Benutzeroberfläche in Bewegung gerät. Es ist sehr wahrscheinlich, dass das Verhalten seine Magie entfaltet.
quelle
So geben Sie einen kurzen Überblick über die Funktionen der Android-Dokumentation :
Verwenden Sie CoordinatorLayout, um einfach das relationale Verhalten Ihrer Ansichten zu steuern.
Zum Beispiel, wenn Ihre Symbolleiste ausgeblendet oder ausgeblendet werden soll. Google hat es mit der Einführung von AppBarLayout und CollapsingToolbarLayout, die beide unter einem CoordinatorLayout am besten funktionieren, wirklich einfach gemacht.
Die andere am häufigsten verwendete Situation ist, wenn Sie möchten, dass ein FloatingActionButton am unteren Rand Ihrer CollapsingToolbar haftet und sich damit bewegt, sie unter ein Koordinator-Layout legt und
app:layout_anchor="@id/YourAppBarId"
für den Kleber (!) Undapp:layout_anchorGravity="bottom|end"
als Position ausreicht, um die zu sehen magische Arbeit!Wenn Sie dieses Layout als Kontext verwenden, können die untergeordneten Ansichten besser zusammenarbeiten und sich intelligent verhalten, da sie sich über den CoordinatorLayout-Kontext gegenseitig kennen. Dies bedeutet, dass Ihre FloatingAction-Schaltflächen nicht mehr von einer Snackbar usw. überlappt werden.
Dies war nur eine kurze Zusammenfassung der nützlichsten Teile. Wenn Sie also mehr Zeit beim Animieren Ihrer App sparen möchten, lohnt es sich, etwas tiefer in das Thema einzutauchen.
Weitere Informationen finden Sie in der Aktivitätsvorlage für die Google Scrolling-Ansicht
quelle
Es ist wichtig zu beachten, dass CoordinatorLayout kein angeborenes Verständnis für eine FloatingActionButton- oder AppBarLayout-Arbeit hat. Es bietet lediglich eine zusätzliche API in Form eines Coordinator.Behavior, mit der untergeordnete Ansichten Berührungsereignisse und Gesten besser steuern können sowie Abhängigkeiten untereinander deklarieren und Rückrufe über onDependentViewChanged () erhalten.
Ansichten können ein Standardverhalten mithilfe der Annotation CoordinatorLayout.DefaultBehavior (YourView.Behavior.class) deklarieren oder mit der App in Ihren Layoutdateien festlegen: layout_behavior = "com.example.app.YourView $ Behavior". Dieses Framework ermöglicht es jeder Ansicht, sich in CoordinatorLayout zu integrieren.
Jetzt verfügbar! Die Designbibliothek ist ab sofort verfügbar. Aktualisieren Sie daher unbedingt das Android Support Repository im SDK-Manager. Sie können dann die Designbibliothek mit einer einzigen neuen Abhängigkeit verwenden:
Kompilieren Sie 'com.android.support:design:22.2.0'. Da die Designbibliothek von den Support v4- und AppCompat-Supportbibliotheken abhängt, werden diese automatisch hinzugefügt, wenn Sie die Designbibliotheksabhängigkeit hinzufügen. Wir haben auch darauf geachtet, dass diese neuen Widgets in der Entwurfsansicht des Android Studio-Layout-Editors verwendet werden können (finden Sie sie unter CustomView), damit Sie einige dieser neuen Komponenten einfacher in der Vorschau anzeigen können.
Die Designbibliothek, AppCompat und die gesamte Android-Supportbibliothek sind wichtige Tools, um die Bausteine bereitzustellen, die zum Erstellen einer modernen, gut aussehenden Android-App erforderlich sind, ohne alles von Grund auf neu zu erstellen.
quelle
Das
CoordinatorLayout
ist ein Super-PowerFrameLayout
.Wenn Sie einem mehrere untergeordnete Elemente hinzufügen
FrameLayout
, überlappen sie sich standardmäßig . AFrameLayout
sollte am häufigsten verwendet werden, um eine einzelne untergeordnete Ansicht zu halten. Der Hauptanreiz desCoordinatorLayout
ist seine Fähigkeit, die Animationen und Übergänge der darin enthaltenen Ansichten zu koordinieren . Wenn Sie nur XML verwenden, können Sie ein Layout beschreiben, in dem ein FAB beispielsweise einer eingehenden Snackbar aus dem Weg geht, oder ein FAB (oder eine andere Ansicht wirklich), das anscheinend an ein anderes Widget angehängt ist und sich mit dem auf dem Bildschirm bewegt Widget.Hier ist das Hauptquellen- Tutorial .
quelle