AndroidX之CoordinatorLayout+AppBarLayout顶部折叠栏

Android之CoordinatorLayout+AppBarLayout顶部折叠栏android

个人是androidXweb

添加依赖app

implementation 'com.google.android.material:material:1.0.0'
  implementation 'androidx.recyclerview:recyclerview:1.0.0'

与以前不一样的是svg

Recycleview里面的是这个:

 app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"

大概写个结构:布局

<com.google.android.material.appbar.AppBarLayout
	   	<com.google.android.material.appbar.AppBarLayout
	   			//这个button能够折叠
				<Button	app:layout_scrollFlags="scroll|enterAlways">
   		</com.google.android.material.appbar.AppBarLayout>
		 //列表
		 <androidx.recyclerview.widget.RecyclerView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

下面是所有代码,放到一个布局里面就行google

<androidx.coordinatorlayout.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        这个view的子view,有app:layout_scrollFlags="scroll|enterAlways"就能够折叠
        <com.google.android.material.appbar.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
          
            
            
            <!--这个继承了,因此这里面的都会被折叠-->
            <LinearLayout
                app:layout_scrollFlags="scroll|enterAlways"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:gravity="center_vertical">
                <Button
                    android:text="aaa"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />
                <Button
                    app:layout_scrollFlags="scroll|enterAlways"
                    android:text="ccc"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />
                <Button
                    app:layout_scrollFlags="scroll|enterAlways"
                    android:text="ddd"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />
                <Button
                    app:layout_scrollFlags="scroll|enterAlways"
                    android:text="bbb"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />
            </LinearLayout>

		  <!--这是一个不会动的标题栏-->
            <androidx.appcompat.widget.Toolbar
                android:layout_width="match_parent"
                android:layout_height="50dp">
            </androidx.appcompat.widget.Toolbar>

        </com.google.android.material.appbar.AppBarLayout>


        <!--RecyclerView的列表-->
        <!--AndroidX要使用:app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"才行-->
        <androidx.recyclerview.widget.RecyclerView
            app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
            android:id="@+id/recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    </androidx.coordinatorlayout.widget.CoordinatorLayout>