Agregue el comportamiento de la vista de desplazamiento de la barra de aplicaciones a varias vistas en CoordinatorLayout
Estoy buscando agregar soporte de desplazamiento a más de una sola vista secundaria desplazable deCoordinatorLayout
en conjunción con unAppBarLayout
yCollapsingToolbarLayout
. Al desplazar elRecyclerView
o laAppBarLayout
(código condensado a continuación), la barra de la aplicación y su contenido se desplazan y colapsan correctamente. Sin embargo, al intentar iniciar un evento de desplazamiento en elLinearLayout
sobre elRecyclerView
, no pasa nada porque elLinearLayout
no sabe desplazarse o contraer la vista.
El objetivo es tener elLinearLayout
actuar como un encabezado adhesivo para elRecyclerView
y pie de página para elAppBarLayout
y recibir el mismo comportamiento de desplazamiento que elRecyclerView
, Similar aReproducción aleatoria de Spotify / encabezado fuera de línea disponible. De hecho, sería genial si elappbar_scrolling_view_behavior
layout_behavior
podría aplicarse a laLinearLayout
de manera similar a laRecyclerView
, pero me imagino que el comportamiento se ignora en las vistas no desplazables. ¿Alguien sabe de una solución alternativa para esto que no requiera implementar elLinearLayout
ver como una fila en elRecyclerView
?
<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>