在滚动外部RecycleView时,滚动AppBarLayout内的RecycleView会禁用scrollFlag

时间:2015-06-30 16:22:58

标签: android android-recyclerview android-coordinatorlayout android-appbarlayout

虽然我没有触及内部RecycleView,但滚动外部RecycleView会根据需要移动内容,但在我滚动内部RecycleView然后尝试滚动外部RecycleView后,上层内容不会移动,只有外部RecycleView滚动。 Horizo​​ntalRecycleView只是一个自定义的水平RecycleView。

这是一个简化的布局 -

<?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:background="@color/background"
    android:clickable="true">

    <android.support.v7.widget.RecyclerView //outer RecyclerView 
        android:id="@+id/bottom_recycle_view"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:layout_gravity="bottom"            
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/transparent">
...


  <com.app.opticsplanet.views.recycleview.HorizontalRecycleView //inner RecyclerView
                android:id="@+id/top_recycle_view"
                android:layout_width="match_parent"
                android:layout_height="@dimen/brand_row_height"
                android:clipToPadding="false"
                android:paddingLeft="@dimen/default_margin" />
...
 </android.support.design.widget.AppBarLayout>

1 个答案:

答案 0 :(得分:3)

我找到了答案。对于内部RecyclerView,不应该影响内容滚动,你应该设置 -

mInnerRecycleView.setNestedScrollingEnabled(false);