前言
在使用CoordinatorLayout的时候,通常会在子空间中添加layout_behavior来达到某种效果。例如在该布局下使用RecyclerView时,需要在布局文件中添加
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
实现RecyclerView始终处于Toolbar底部。
原始布局
先仿照知乎首页界面实现,该界面顶部为Toolbar,中间为RecyclerView,底部为BottomNavigationView。
完整布局代码如下:
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
android:id="@+id/tool_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"/>
</com.google.android.material.appbar.AppBarLayout>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/recycler_view"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"/>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:menu="</