library layout_scrollflags layout_collapsemode example coordinatorlayout appbarlayout android android-recyclerview android-coordinatorlayout

android - layout_scrollflags - layout_collapsemode



RecyclerView anidado con CoordinatorLayout (3)

Compruebe la creación de efecto colapso . Esto podría ayudarte.

código del enlace si el enlace se rompe.

<android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_scrollFlags="scroll|enterAlways"></android.support.v7.widget.Toolbar> </android.support.design.widget.CollapsingToolbarLayout>

Mi pregunta es como esta pregunta. Comportamiento de desplazamiento en RecyclerView anidado con desplazamiento horizontal

Al igual que la tienda Google Play, tengo un RecyclerView (Horizontal) anidado dentro de un RecyclerView principal. El RecyclerView principal es un elemento secundario de CoordinatorLayout en el que la barra de herramientas se expande y se contrae cuando se produce el desplazamiento principal de RecyclerView.

Todo funciona bien al tocarlo fuera del RecyclerView secundario y desplácese hacia arriba La barra de herramientas Collapsing colapsa, pero cuando toco uno de los botones RecyclerView secundarios y se desplaza hacia arriba , la RecyclerView primaria se desplaza y CollapsingToolbar no funciona.

Si es necesario, añadiré mi código fuente aquí ..

Cualquier ayuda será apreciada !!

ACTUALIZACIÓN:

actividad de CoordinatorLayout

<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout android:id="@+id/coord_layout" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".activity.ChannelHubOld"> <android.support.design.widget.AppBarLayout android:id="@+id/app_bar_layout" android:fitsSystemWindows="true" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:contentScrim="?attr/colorPrimary" android:fitsSystemWindows="true"> <RelativeLayout android:background="@color/pkDarkGrey" android:fitsSystemWindows="true" android:layout_width="match_parent" android:layout_height="200dp"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@drawable/sidebar_header"/> </RelativeLayout> <android.support.v7.widget.Toolbar android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?android:attr/actionBarSize" android:theme="@style/ActionBarWidget"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <!-- Parent RecyclerView ---> <android.support.v7.widget.RecyclerView app:layout_behavior="@string/appbar_scrolling_view_behavior" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/recycler_view_pagelayout" /> </android.support.design.widget.CoordinatorLayout>


Tenía el mismo problema. Se setNestedScrollingEnabled(false) configurando setNestedScrollingEnabled(false) en el RecyclerViews anidado horizontal. Parece que el CoordinatorLayout.Behavior no interceptó correctamente el rollo anidado cuando no lo configuró. ¡Pruébalo!

NOTA: también debe agregar un comportamiento de diseño (ejemplo: app:layout_behavior="@string/appbar_scrolling_view_behavior" ) al RecyclerView interno (anidado) para que esto funcione


Tengo una solución para usted y probé esto recientemente, así que debería funcionar.

Dentro de su recyclerview, coloque su nestedScrollView en lugar de lo contrario, como el comportamiento Scroll en el RecyclerView anidado con el desplazamiento horizontal sugerido.

<android.support.v7.widget.RecyclerView android:id="@+id/my_recycler_view" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" > </android.support.v4.widget.NestedScrollView> </android.support.v7.widget.RecyclerView>