Ocultar barra de herramientas con CoordinatorLayout, pero RecyclerView en un fragmento

Tengo una actividad con dos pestañas. Cada ficha contiene un fragmento con un SwipeRefreshLayout y un RecyclerView dentro de ellos.

En la actividad, tengo un CoordinatorLayout con un AppBarLayout (con una Toolbar y un TabLayout ) y un ViewPager para los fragmentos.

Captura de pantalla

Ahora, lo que quiero lograr es: cuando el usuario se desplaza en los fragmentos, la barra de herramientas, y no las pestañas, se esconde, como en la Play Store.

En los ejemplos que he leído en Internet, el diseño es muy simple: tienen el RecyclerView y la Toolbar dentro del CoordinatorLayout en el mismo xml.

Entonces, simplemente escriben:

 <android.support.v7.widget.RecyclerView android:id="@+id/rvToDoList" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

Y

 <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true"> <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.design.widget.AppBarLayout> 

Por lo tanto, no puedo averiguar cómo hacerlo.

Mis xml son los siguientes:

El diseño de la actividad es:

 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/activity_main_drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:fitsSystemWindows="true"> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/color_primary" app:layout_scrollFlags="scroll|enterAlways"/> <android.support.design.widget.TabLayout android:id="@+id/activity_main_tab_layout" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabIndicatorColor="@color/color_text_primary" app:tabMode="fixed" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/activity_main_tabs_pager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> </android.support.design.widget.CoordinatorLayout> <ListView android:id="@+id/activity_main_nav_drawer_list" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start" android:background="@color/color_primary" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="5dp" android:overScrollMode="never" android:smoothScrollbar="true" /> </android.support.v4.widget.DrawerLayout> 

Y los fragmentos son:

 <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/fragment_coupons_swipe_refresh_view" android:layout_width="match_parent" android:layout_height="match_parent"> <com.github.yasevich.endlessrecyclerview.EndlessRecyclerView android:id="@+id/fragment_coupons_recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical" /> </android.support.v4.widget.SwipeRefreshLayout> 

Gracias por adelantado.

Hombre, me enfrenté al mismo problema. El problema no está en el código. Apuesto a que está utilizando versiones antiguas de las herramientas de compilación y las bibliotecas. Actualícelos a la última versión:

  • BuildToolsVersion "22.0.1"
  • Com.android.support:appcompat-v7:22.1.1
  • Com.android.support:recyclerview-v7:22.2.0

En mi caso esto funcionó como un encanto! ¡Buena suerte!

Para todos los que usan Scrollview en un Fragment, como yo, le sugiero que use android.support.v4.widget.NestedScrollView. De esta forma, Barra de herramientas y / o TabLayout se desplazarán junto con Scrollview

  • ¿Cómo reemplazar el icono de la hamburguesa utilizado para ActionBarToggle en la barra de herramientas de Android con una costumbre drawable?
  • FindViewById (int) en Activity no se puede aplicar a (int, android.support.v7.widget.Toolbar
  • La actividad no se cierra al hacer clic en el botón de la barra de herramientas
  • ¿Cómo hacer clic en las vistas detrás de una barra de herramientas?
  • Efecto Parallax con la barra desplegable no funcionando, imagen en el encabezado aplastado
  • Barra de herramientas, onCreateOptionsMenu () devuelve falso, 'arriba' la navegación no funciona
  • Cómo ocultar la barra de herramientas en un ViewPager al usar Scrolling RecyclerView?
  • Utilizar la barra de herramientas como barra de acción no infla el menú
  • Barra de herramientas dentro de CardView para crear un menú emergente (icono de desbordamiento)
  • Cómo utilizar SearchView en la barra de herramientas de Android
  • elemento del menú no se muestra como acción android.support.v7.widget.Toolbar
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.