studio collapsing appbarlayout android xml material-design android-toolbar android-coordinatorlayout

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