Verhalten beim Scrollen der App-Leiste zu mehreren Ansichten in CoordinatorLayout hinzufügen

Ich möchte die Bildlaufunterstützung für mehr als nur eine einzelne, scrollbare, untergeordnete Ansicht von @ hinzufügeCoordinatorLayout in Verbindung mit einemAppBarLayout undCollapsingToolbarLayout. Beim Scrollen desRecyclerView oder derAppBarLayout (unten zusammengefasster Code), die App-Leiste und ihr Inhalt werden erfolgreich gescrollt und ausgeblendet. Wenn Sie jedoch versuchen, ein Bildlaufereignis auf dem @ zu initiiereLinearLayout überRecyclerView, nichts passiert, weil dasLinearLayout weiß nicht, ob die Ansicht gescrollt oder ausgeblendet werden soll.

Das Ziel ist es, das @ zu habLinearLayout fungiert als klebriger Header für dasRecyclerView und Fußzeile zumAppBarLayout und erhalten dasselbe Bildlaufverhalten wieRecyclerView, ähnlich zu Spotify's Shuffle Play / verfügbarer Offline-Header. In der Tat wäre es toll, wenn dieappbar_scrolling_view_behavior layout_behavior könnte auf das @ angewendet werdLinearLayout ähnlich demRecyclerView, aber ich stelle mir vor, dass das Verhalten bei nicht scrollbaren Ansichten ignoriert wird. Ist jemandem eine Problemumgehung bekannt, bei der das @ nicht implementiert werden musLinearLayout Ansicht als Zeile imRecyclerView?

<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/app_bar_layout"
        android:layout_width="match_parent"
        android:layout_height="@dimen/collapsible_app_bar_height"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar_layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/gradient_banner"
            app:contentScrim="@color/background_content_frame"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:id="@+id/image_header"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:src="@drawable/some_image"
                app:layout_collapseMode="parallax"/>

            <android.support.v7.widget.Toolbar
                android:id="@+id/collapsible_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                app:layout_collapseMode="pin"/>

        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="@dimen/slide_handle_height"
        android:orientation="horizontal"
        android:background="@color/slide_handle"
        android:gravity="center_vertical">

        <!-- three buttons -->

    </LinearLayout>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="@dimen/slide_handle_height"
        android:scrollbars="vertical"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

</android.support.design.widget.CoordinatorLayout>

Antworten auf die Frage(8)

Ihre Antwort auf die Frage