3

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

我有一个工具栏

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 个 Recycler 视图(Recyclerview2 和 Recyclerview3)和其他视图的线性布局。

当我使用 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。所以我放弃了。)

4

1 回答 1

0

谷歌回答了我以下问题:

“RecyclerView 2 和 3 大到可以滚动吗?v22.2.1 将不再滚动 Views 不需要滚动。” (项目成员 #1 chrisba...@google.com)

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

所以请记住,22.1.1 中有一个设计意图修改(如果我没记错的话,没有记录)“不会滚动不需要滚动的视图”。

于 2015-08-11T10:25:14.263 回答