记下来,以后不用找
app:layout_scrollFlags="scroll"属性是必须的,否则对应的内容不会跟着滑动
app:layout_behavior="@string/appbar_scrolling_view_behavior"也是必须的,表示绑定的控件
需要注意的是,在AppBarLayout嵌套的CollapsingToolbarLayout的内容是会跟着滑动的,而CollapsingToolbarLayout外AppBarLayout内的是不会跟着滑动的(tvTitle会停留在屏幕顶部),
CoordinatorLayout必须把需要联动滑动的控件包起来,由它来协调滑动
<androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent" android:layout_height="match_parent"> <com.google.android.material.appbar.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <com.google.android.material.appbar.CollapsingToolbarLayout android:id="@+id/collToolbar" app:contentScrim="@color/white" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_constraintTop_toTopOf="parent" app:layout_scrollFlags="scroll"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/rcyTop" android:layout_width="match_parent" android:layout_height="200dp" android:orientation="horizontal" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> </com.google.android.material.appbar.CollapsingToolbarLayout> <TextView android:id="@+id/tvTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="15dp" android:layout_marginTop="4dp" android:background="#0B091C" android:text="@string/ai_discover" android:textColor="@color/white" android:textSize="22sp" android:textStyle="bold" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </com.google.android.material.appbar.AppBarLayout> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/rcyDiscover" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginHorizontal="15dp" android:nestedScrollingEnabled="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>