collapsing - expandable toolbar android
Comportamiento de desplazamiento en RecyclerView anidado con desplazamiento horizontal (3)
Podemos lograr esto en XML.
android:nestedScrollingEnabled="false"
Tengo que crear RecyclerView
vertical con RecyclerView
horizontal anidado en cada elemento. Todo está dentro de CoordinatorLayout
. Cuando me desplazo al tocar fuera de la barra de herramientas RecyclerView anidada, se oculta, pero cuando me desplazo al Recycler principal presionando sobre una barra de herramientas anidada permanece.
Cualquier ayuda sería apreciada.
Aquí están mis diseños 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>
Aquí está la barra de herramientas.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>
fragmento.xml:
<android.support.v7.widget.RecyclerView
...
android:scrollbars="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
Y 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>
Gracias,
Anton
Pruebe con RecyclerView
dentro de 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 también con diferentes layout_scrollFlags en la Toolbar
de Toolbar
y
RecylerView.setNestedScrollingEnabled(false); // set it true or false as per requirement
Tal como se solicita aquí es la solución que encontré lo suficientemente buena hasta ahora:
En mi caso, tengo un nestedScrollView
con 4 RecyclerView
s configurado para desplazarse horizontalmente en el interior. Para cada uno de esos RecyclerView
s he hecho esto programáticamente:
restaurantsRecylerView.setHasFixedSize(true);
restaurantsRecylerView.setNestedScrollingEnabled(false);
Probablemente no quiera el tamaño fijo, no estoy seguro de si habrá alguna diferencia, mi lista siempre es 25, por lo que puedo usarla para el rendimiento. Después de hacer esto, puedo desplazarme sin problemas incluso cuando toco en el recyclerViews
Espero eso ayude