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>