Прокрутка поведения в вложенном 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>
Спасибо,
Антон
Ответы
Ответ 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