web-dev-qa-db-fra.com

RecyclerView imbriqué avec CoordinatorLayout

Ma question est comme cette question Comportement de défilement dans RecyclerView imbriqué avec défilement horizontal

Tout comme Google Play Store, j'ai un RecyclerView imbriqué (horizontal) dans un RecyclerView parent. Le parent RecyclerView est un enfant de CoordinatorLayout dans lequel la barre d'outils se développe et se réduit lorsque le défilement parent RecyclerView se produit.

Tout fonctionne bien au toucher en dehors de l'enfant RecyclerView et faites défiler vers le haut CollapsingToolbar se réduit mais lorsque je touche l'un des enfants RecyclerView et faites défiler vers le haut alors le parent RecyclerView défile et CollapsingToolbar ne fonctionne pas .

enter image description here

enter image description here

Si besoin, j'ajouterai mon code source ici ..

Toute aide serait appréciée!!

MISE À JOUR:

activité 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>
22
Rafique Mohammed

Eu le même problème. Fixé en définissant setNestedScrollingEnabled (false) sur les RecyclerViews imbriqués horizontaux. Il semble que le parchemin imbriqué n'ait pas été correctement intercepté par le CoordinatorLayout.Behavior lorsque ce paramètre n'est pas défini. Essaye le!


REMARQUE: vous devez également ajouter un comportement de mise en page (exemple: app:layout_behavior="@string/appbar_scrolling_view_behavior") au RecyclerView interne (imbriqué) pour que cela fonctionne

43
fast3r

Vérifiez Création d'un effet de repli . cela pourrait vous aider.

code du lien si le lien est cassé.

<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>
0
Siddhesh