与CoordinatorLayout嵌套的RecyclerView

我的问题就像这个问题滚动行为在嵌套RecyclerView水平滚动

就像Google Play商店一样,我在RecyclerView的父级中embedded了RecyclerView(Horizo​​ntal)。 父RecyclerView是CoordinatorLayout的一个子项,当父RecyclerView滚动发生时,工具栏展开和折叠。

一切工作正常的孩子以外的触摸RecyclerView和向上滚动CollapsingToolbar得到崩溃, 但当我触摸其中一个孩子RecyclerView和向上滚动,然后父RecyclerView滚动和CollapsingToolbar不起作用。

在这里输入图像说明

在这里输入图像说明

如果需要,那么我会在这里添加我的源代码..

任何帮助将不胜感激!!

更新:

CoordinatorLayout的活动

<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout android:id="@+id/coord_layout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".activity.ChannelHubOld"> <android.support.design.widget.AppBarLayout android:id="@+id/app_bar_layout" android:fitsSystemWindows="true" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:contentScrim="?attr/colorPrimary" android:fitsSystemWindows="true"> <RelativeLayout android:background="@color/pkDarkGrey" android:fitsSystemWindows="true" android:layout_width="match_parent" android:layout_height="200dp"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/sidebar_header"/> </RelativeLayout> <android.support.v7.widget.Toolbar android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?android:attr/actionBarSize" android:theme="@style/ActionBarWidget"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <!-- Parent RecyclerView ---> <android.support.v7.widget.RecyclerView app:layout_behavior="@string/appbar_scrolling_view_behavior" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/recycler_view_pagelayout" /> </android.support.design.widget.CoordinatorLayout> 

Solutions Collecting From Web of "与CoordinatorLayout嵌套的RecyclerView"

有同样的问题。 通过在水平嵌套的RecyclerView上设置setNestedScrollingEnabled(false)来修复。 当没有设置这个时,嵌套的滚动似乎没有被CoordinatorLayout.Behavior正确拦截。 试试看!

检查创build折叠效果 。 这可能会帮助你。

代码从链接,如果链接被破坏。

 <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_scrollFlags="scroll|enterAlways"></android.support.v7.widget.Toolbar> </android.support.design.widget.CollapsingToolbarLayout> 

我有你的解决scheme,我最近尝试了这样,它应该工作。

在你的recyclerview里,放入你的nestedScrollView而不是其他的方式,比如build议使用水平滚动的嵌套RecyclerView中的滚动行为 。

  <android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" > </android.support.v4.widget.NestedScrollView> </android.support.v7.widget.RecyclerView>