CoordinatorLayoutについて

#はじめに






##早速実装

パレットからAppBarLayoutをconstraintLayoutとかの場所にドラッグ
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704865/f5edd5c2-98c2-1fb7-355f-ac96dc3f63d3.png" width=70%>

すると下の画像のようなポップアップが表示される。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704865/1561a217-4733-2dfd-6a27-002456cacc5a.png" width=70%>

Collapsing Toolbarにチェックを入れてOKを押下する。

現段階で実行したのがこちら。
![image.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704865/339e43e2-7ce9-418c-8dac-724b7334dd45.gif)

ベースはこれで完成でここからカスタマイズしていく。

まずはthemes.xmlに下記のコードを追加する

``` themes.xml
<item name="windowNoTitle">true</item>
<item name="android:textColorPrimary">@android:color/white</item>
```

「windowNoTitle」は下にスクロールした際にデフォルトで存在するtoolbarを消す設定をしている
 windowNoTitleを書いていないと
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704865/1c2c0f46-16d0-547e-2440-1924531ef518.png" width=70%>
なんか上空いちゃう、、


「android:textColorPrimary」はtoolbarのタイトル文字列の色を決めている

レイアウトファイルはこんな感じ

``` activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/appbar"
        android:layout_height="192dp"
        android:layout_width="match_parent">

        <com.google.android.material.appbar.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:toolbarId="@+id/toolbar"
            app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"
            app:contentScrim="?attr/colorPrimary">

            <ImageView
                android:id="@+id/imageView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:scaleType="centerCrop"
                app:layout_collapseMode="parallax"
                app:srcCompat="@drawable/daa325f0d00039dd66e4e01f44b26d0a" />

            <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_height="?attr/actionBarSize"
                android:layout_width="match_parent"
                app:title="綺麗な夜空">

            </androidx.appcompat.widget.Toolbar>
        </com.google.android.material.appbar.CollapsingToolbarLayout>
    </com.google.android.material.appbar.AppBarLayout>

    <androidx.core.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".MainActivity">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Hello World!"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

        </androidx.constraintlayout.widget.ConstraintLayout>

    </androidx.core.widget.NestedScrollView>

</androidx.coordinatorlayout.widget.CoordinatorLayout>
```

完成したのがこちら
![image.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704865/71e8ecd4-c88f-112b-01d6-5815eccd97dd.gif)


めちゃめちゃ簡単に実装出来るので自己作成しているアプリに組み込むか、、