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>