Подтвердить что ты не робот

Прокрутка поведения в вложенном RecyclerView с горизонтальной прокруткой

Мне нужно создать вертикальный RecyclerView с вложенным горизонтальным RecyclerView в каждом элементе. Все находится в пределах CoordinatorLayout. Когда я прокручиваю, нажимая на скрытые скрытые панели инструментов RetyclerView, но когда я прокручиваю родительский Recycler, нажимая на вложенную одну панель инструментов, остается.

Любая помощь будет оценена.

Вот мои макеты xml:

main_activity.xml:

<android.support.design.widget.CoordinatorLayout 
   ...>

<FrameLayout
    android:id="@+id/fragment_frame"
    ...
    android:fitsSystemWindows="true"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

<android.support.design.widget.AppBarLayout
    ...
    android:fitsSystemWindows="true"
    android:id="@+id/appbar_layout">

        <include layout="@layout/toolbar"/>

</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

Вот toolbar.xml:

<android.support.v7.widget.Toolbar
    android:id="@+id/main_toolbar"
    ...
    android:fitsSystemWindows="true"
    app:layout_scrollFlags="scroll|enterAlways">

    <TextView .../>

</android.support.v7.widget.Toolbar>

fragment.xml:

<android.support.v7.widget.RecyclerView
    ...
    android:scrollbars="vertical"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

И recycler_view_item.xml:

<RelativeLayout ...>

    <TextView .../>

    <!-- fixme(CullyCross) fix bug with hiding toolbar -->
    <android.support.v7.widget.RecyclerView
        ...
        android:scrollbars="horizontal"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        />

</RelativeLayout>

Спасибо,
Антон

4b9b3361

Ответ 1

В соответствии с запрошенным здесь решением, которое я нашел достаточно хорошим:

В моем случае у меня есть nestedScrollView с 4 RecyclerView, установленным для прокрутки по горизонтали внутри. Для каждого из этих RecyclerView я сделал это программно:

restaurantsRecylerView.setHasFixedSize(true); 
restaurantsRecylerView.setNestedScrollingEnabled(false);

Вероятно, вы не хотите, чтобы fixedSize, не уверен, что это будет иметь значение, мой список всегда 25, поэтому я могу использовать его для производительности. После этого я могу прокручивать без проблем, даже когда я касаюсь recyclerViews

Надеюсь, что это поможет

Ответ 2

Попробуйте RecyclerView внутри android.support.v4.widget.NestedScrollView.

<android.support.v4.widget.NestedScrollView
        android:id="@+id/nScrollView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

<!-- Set other views of your Layout -->

</android.support.v4.widget.NestedScrollView>

Также попробуйте с помощью layout_scrollFlags в Toolbar и

RecylerView.setNestedScrollingEnabled(false); // set it true or false as per requirement