Je dois créer une RecyclerView
verticale avec une RecyclerView
horizontale imbriquée dans chaque élément. Tout est dans CoordinatorLayout
. Lorsque je fais défiler en appuyant sur l'extérieur de la barre d'outils RecyclerView imbriquée se cache, mais lorsque je fais défiler parent, Recycler en appuyant sur une barre d'outils imbriquée reste.
Toute aide serait appréciée.
Voici mes mises en page 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>
Voici 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"/>
Et 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>
Merci,
Anton
Comme demandé, voici la solution que j'ai trouvée assez bonne jusqu'à présent:
Dans mon cas, j'ai une nestedScrollView
avec 4 RecyclerView
s définie pour faire défiler horizontalement à l'intérieur. Pour chacun de ces RecyclerView
s j'ai fait ceci par programme:
restaurantsRecylerView.setHasFixedSize(true);
restaurantsRecylerView.setNestedScrollingEnabled(false);
Vous ne voulez probablement pas le fixedSize, vous ne savez pas si cela fera une différence, ma liste est toujours 25 donc je peux l'utiliser pour des performances. Après avoir fait cela, je peux faire défiler sans problème même lorsque je touche à recyclerViews
J'espère que ça aide
Essayez avec RecyclerView
dans 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>
Essayez également avec différents layout_scrollFlags in Toolbar
et
RecylerView.setNestedScrollingEnabled(false); // set it true or false as per requirement
Nous pouvons y arriver en XML
Android:nestedScrollingEnabled="false"