Qu'est-ce qu'un CoordinatorLayout? Ne vous laissez pas tromper par le nom sophistiqué, ce n'est rien de plus qu'un FrameLayout sur les stéroïdes
Pour mieux comprendre ce qu'un CoordinatorLayout
est / fait, vous devez d'abord comprendre / garder à l'esprit ce que signifie Coordonner.
Si vous recherchez le mot sur Google
Coordonner
C'est ce que vous obtenez:
Je pense que ces définitions aident à décrire ce que fait un CoordinatorLayout seul et comment les vues qu'il contient se comportent.
Un CoordinatorLayout (un ViewGroup) apporte les différents éléments (Child Views) d'une (̶a̶ ̶c̶o̶m̶p̶l̶e̶x̶ ̶a̶c̶t̶i̶v̶i̶t̶y̶ ̶o̶r ̶a̶n̶ ̶o̶r̶g̶a̶̶nizz̶ dans une relation harmonieuse ou harmonieuse
Avec l'aide d'un CoordinatorLayout, les vues enfants fonctionnent ensemble de manière harmonieuse pour implémenter des comportements impressionnants tels que
traîne, glisse, jette ou tout autre geste.
Les vues à l'intérieur d'un CoordinatorLayout négocient avec les autres afin de travailler ensemble efficacement en spécifiant ces comportements
Un CoordinatorLayout est une fonctionnalité super cool de Material Design qui aide à créer des mises en page attrayantes et harmonisées.
Tout ce que vous avez à faire est d'encapsuler vos vues enfants dans le CoordinatorLayout.
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.byte64.coordinatorlayoutexample.ScollingActivity">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/app_bar_height"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/AppTheme.PopupOverlay" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_scolling" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/fab_margin"
app:layout_anchor="@id/app_bar"
app:layout_anchorGravity="bottom|end"
app:srcCompat="@android:drawable/ic_dialog_email" />
</android.support.design.widget.CoordinatorLayout>
et content_scrolling:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.byte64.coordinatorlayoutexample.ScollingActivity"
tools:showIn="@layout/activity_scolling">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/text_margin"
android:text="@string/large_text" />
</android.support.v4.widget.NestedScrollView>
Ce que cela nous donne est une mise en page qui peut être défilée pour réduire la barre d'outils et masquer le FloatingActionButton
Ouvert:
Fermé: