すべてのアイテムにネストされた水平RecyclerView
を持つ垂直RecyclerView
を作成する必要があります。すべてがCoordinatorLayout
内にあります。ネストされたRecyclerViewツールバーの外側をタップしてスクロールすると非表示になりますが、ネストされた1つのツールバーをタップして親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>
おかげで、
アントン
ここで要求されているのは、これまでのところ私が十分に見つけた解決策です:
私の場合、nestedScrollView
があり、4つのRecyclerView
sが内部で水平にスクロールするように設定されています。これらのRecyclerView
sのそれぞれについて、これをプログラムで実行しました。
restaurantsRecylerView.setHasFixedSize(true);
restaurantsRecylerView.setNestedScrollingEnabled(false);
おそらくfixedSizeは必要ないでしょう。違いがあるかどうかわからないので、リストは常に25なので、パフォーマンスのためにそれを使用できます。これを行った後、recyclerViewsに触れても問題なくスクロールできます
それが役に立てば幸い
Android.support.v4.widget.NestedScrollView 内でRecyclerView
を試してください。
<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>
また、Toolbar
で異なる layout_scrollFlags を試してください。
RecylerView.setNestedScrollingEnabled(false); // set it true or false as per requirement
XMLでこれを実現できます
Android:nestedScrollingEnabled="false"