CollapsibleToolbarLayout 关于 RecyclerView 的行为似乎被破坏了。设置值时
应用程序:layout_scrollFlags
如果不使用“scroll|enterAlways”,Collabsible 布局将永远不会展开。它总是会收缩,但是当你往下拉的时候,它就不会再膨胀了,所以它只会被锁定在顶部。
如果您使用“scroll|enterAlways”,它会按预期工作,这意味着当您向下滚动时,它会立即将标题扩展到其完整高度。
在不知道的情况下,似乎 Collapsible 布局无法正确确定 RecyclerView 何时位于列表顶部,因为这是在其他情况下何时应展开到全高的标准。
这是我正在测试的布局。java 代码并不重要,它只是用虚拟数据填充recyclerview 并使用LinearLayoutManager。
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="200dp"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:toolbarId="@id/toolbar_id"
app:contentScrim="@color/white"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar_id"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>