Le comportement de Scroll dans le RecyclerView imbriqué avec le scroll horizontal
je dois créer vertical RecyclerView
avec imbriqué horizontal RecyclerView
dans chaque article. Tout est dans CoordinatorLayout
. Quand je fais défiler en tapant à L'extérieur de la barre D'outils emboîtée RecyclerView se cache, mais quand je fais défiler Parent Recycler en tapotant sur emboîtée une barre d'outils 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 barre.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
3 réponses
Comme demandé voici la solution que j'ai trouvé assez bon jusqu'à présent:
dans mon cas, j'ai un nestedScrollView
avec 4 RecyclerView
s réglé pour faire défiler horizontalement à l'intérieur. Pour chacun de ces RecyclerView
j'ai fait ce programme:
restaurantsRecylerView.setHasFixedSize(true);
restaurantsRecylerView.setNestedScrollingEnabled(false);
vous ne voulez probablement pas de fixedSize, pas sûr si cela va faire une différence, ma liste est toujours 25 donc je peux l'utiliser pour la performance. Après avoir fait ceci je peux faire défiler sans problèmes même quand je touche sur la recyclerViews
j'Espère que ça aide
Essayez avec RecyclerView
à l'intérieur android.soutien.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>
aussi essayer avec différent layout_scrollFlags dans Toolbar
et
RecylerView.setNestedScrollingEnabled(false); // set it true or false as per requirement
nous pouvons y parvenir en XML
android:nestedScrollingEnabled="false"