Cómo ocultar la barra de herramientas después de colapsar mientras que recyclerView desplazamiento hacia abajo

Cómo ocultar la barra de herramientas después de colapsar mientras recyclerView desplazamiento hacia abajo, mostrar barra de herramientas cuando recyclerView desplazamiento hacia arriba y expandir CollapsingToolbarLayout al final de la lista? Ahora CollapsingToolbarLayout sólo colapsar, y la barra de herramientas está mostrando todo el tiempo cuando se desplaza.

<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:id="@+id/coordinatorlayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".screens.MainActivity"> <android.support.design.widget.AppBarLayout android:id="@+id/appbarlayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:minHeight="@dimen/actionBarHeight" app:contentScrim="@color/colorPrimary" app:expandedTitleTextAppearance="@style/TransparentText" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <ImageView android:id="@+id/toolbar_image" android:layout_width="match_parent" android:layout_height="180dp" android:adjustViewBounds="true" android:background="#229944" android:contentDescription="@null" android:scaleType="fitCenter"/> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="@dimen/actionBarHeight" android:minHeight="@dimen/actionBarHeight" app:layout_collapseMode="pin" app:layout_scrollFlags="scroll|enterAlwaysCollapsed" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> </android.support.design.widget.CollapsingToolbarLayout> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:layout_gravity="bottom" app:layout_scrollFlags="scroll" /> </android.support.design.widget.AppBarLayout> <android.support.v7.widget.RecyclerView android:id="@+id/content" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> </android.support.design.widget.CoordinatorLayout> 

Esto debería funcionar perfectamente. Probado y funcionando en API 17

 <android.support.design.widget.CoordinatorLayout android:id="@+id/careers_coordinator_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" tools:context=".activity.CareersActivity" xmlns:tools="http://schemas.android.com/tools"> <android.support.design.widget.AppBarLayout android:id="@+id/appBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" app:contentScrim="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways|enterAlwaysCollapsed"> <ImageView android:id="@+id/background" android:layout_width="match_parent" android:layout_height="256dp" android:scaleType="centerCrop" android:fitsSystemWindows="true" app:layout_collapseMode="parallax" android:src="@drawable/placeholder"/> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:contentScrim="?attr/colorPrimary" android:fitsSystemWindows="true" app:titleTextColor="@color/main_color_white" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_collapseMode="pin"/> </android.support.design.widget.CollapsingToolbarLayout> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" app:tabIndicatorColor="@color/colorAccent" app:tabSelectedTextColor="@color/colorAccent" app:tabTextColor="@android:color/white" app:tabIndicatorHeight="4dp" app:tabMode="fixed"/> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout> 

Es posible que desee cambiar el comportamiento de la barra de herramientas. Puede proporcionar el comportamiento de desplazamiento cambiando layout_scrollFlags.

 app:layout_scrollFlags="scroll|enterAlways" 

Quite el pin y haga este cambio en su barra de herramientas y funcionaría!

  • Añadir android:fitsSystemWindows="true" en CoordinatorLayout .
  • Eliminar la app:layout_scrollFlags="scroll|enterAlwaysCollapsed" de la Toolbar de Toolbar .
  • Mover TabLayout dentro de CollapsingToolbarLayout .

     <android.support.design.widget.AppBarLayout android:id="@+id/appbarlayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsing_toolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:minHeight="@dimen/actionBarHeight" app:contentScrim="@color/colorPrimary" app:expandedTitleTextAppearance="@style/TransparentText" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <ImageView android:id="@+id/toolbar_image" android:layout_width="match_parent" android:layout_height="180dp" android:adjustViewBounds="true" android:background="#229944" android:contentDescription="@null" android:scaleType="fitCenter"/> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="@dimen/actionBarHeight" android:minHeight="@dimen/actionBarHeight" app:layout_collapseMode="pin" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:layout_gravity="bottom" app:layout_scrollFlags="scroll" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v7.widget.RecyclerView android:id="@+id/content" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

Para CollapsingToolbarLayout use banderas de desplazamiento:

 app:layout_scrollFlags="scroll|enterAllwaysCollapsed" 

Esta combinación de indicadores desaparecerá de la barra de herramientas mientras se desplaza hacia abajo. Y CollapsingToolbarLayout se expandirá completamente cuando se desplace a la parte superior de la lista.

Y no hay necesidad de eliminar la app:layout_collapseMode="pin" de la Toolbar de Toolbar , porque los flags de collapseMode son para definir el comportamiento y la colocación de las vistas dentro de CollapsingToolbarLayout y no afectará el colapso real y la expansión de CollapsingToolbarLayout .

  • ¿Qué es layout_collapseParallaxMultiplier utilizado en CollapsingToolbarLayout?
  • PreferenceFragment no scroll en CollapsingToolbarLayout
  • ¿Cómo mostrar el logotipo de la barra de herramientas, icono, título, subtítulo cuando se envuelve en un CollapsingToolbarLayout?
  • CollapsingToolbarLayout y posición de botón de acción flotante dentro de CollapsingToolbarLayout
  • Cheesesquare: enterAlways produce un diseño incorrecto
  • Viewpager no se desplaza en el diseño del coordinador
  • Vista de desplazamiento superpuesta con AppBarLayout
  • Colapsar el diseño de la barra de herramientas con pestañas, contraer la barra de herramientas sólo cuando las pestañas alcancen la barra de herramientas en android
  • Agregar FloatingActionButton en el diseño de barra de herramientas de contracción
  • Establecer la altura de inicio de CollapsingToolbarLayout
  • Título en CollapsingToolbarLayout expandido no se muestra correctamente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.