android 设计库 22.2.1 与 22.2.0 中的 Appbar 滚动

Appbar scrolling in android design library 22.2.1 vs 22.2.0

我对新 android 设计库的应用栏滚动功能有疑问。除了设计库,我还使用支持库 22.2.1(AppCompat、Recycler 视图...)。

我有一个工具栏

app:layout_scrollFlags="scroll|enterAlways"

属性和 ViewPager :

<android.support.v4.view.ViewPager
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />

有 2 个标签。 Tab1 包含 Recyclerview1。 Tab2 包含一个带有 2 个 Recyclers 视图(Recyclerview2 和 Recyclerview3)和其他视图的 linearLayout。

当我使用 com.android.support:design:22.2.0 时一切正常,也就是说,在 Recyclerview1、Recyclerview2 或 Recyclerview3 中垂直滚动会使工具栏自动滚动。

因此,Recyclerview2 和 Recyclerview3 嵌套在 tab2 中而不是 tab2 的直接兄弟姐妹这一事实不会影响工具栏滚动行为。正是我需要的。

不幸的是,库的新版本 com.android.support:design:22.2.1 打破了这种行为。 在 22.2.1 版本中,只有 Recyclerview1 使工具栏滚动。嵌套的 Recyclerview2 和 Recyclerview3 没有了。

在这种情况下,这个库究竟应该做什么?它是 22.2.1 中的新错误还是 22.2.1 中修复的 22.2.0 错误?

(请注意,我也曾尝试将 tab2 的所有视图放在 NestedScrollView 中,但它将 tab2 的高度更改为 50 或 60 dp。所以我放弃了。)

Google 回答了我以下问题:

"Are RecyclerView 2 and 3 large enough to scroll? v22.2.1 will no longer scroll Views do not need to be scrolled."(项目成员 #1 chrisba...@google.com)

确实,RecyclerView 2 不够大,这解释了问题,但 RecyclerView 3 足够大。但是,从那时起,由于某些原因(可能是 22.1.1 的更新),我的 RecyclerView 3 现在可以正常工作了。

所以请记住,在 22.1.1 中有一个设计意图修改(如果我没记错的话,没有记录)"won't scroll Views that do not need to be scrolled"。