Скрыть панель инструментов с помощью CoordinatorLayout, но RecyclerView на фрагменте

У меня есть активность с двумя вкладками. Каждая вкладка содержит фрагмент с SwipeRefreshLayout и RecyclerView внутри них.

В Activity у меня есть CoordinatorLayout с AppBarLayoutToolbar и TabLayout ) и ViewPager для фрагментов.

Скриншот

Теперь я хочу достичь: когда пользователь прокручивает фрагменты, панель инструментов, а не вкладки, скрывается, как в Play Маркете.

В примерах, которые я прочитал через Интернет, макет очень прост: у них есть RecyclerView и Toolbar внутри CoordinatorLayout на одном и том же XML.

Затем они просто пишут:

 <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"> 

А также

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

Поэтому я не могу понять, как это сделать.

Мои xml следующие:

Макет деятельности:

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

И фрагменты:

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

Заранее спасибо.

Человек, я столкнулся с той же проблемой. Проблема не в коде. Бьюсь об заклад, вы используете старые версии инструментов сборки и библиотек. Обновите их до последней версии:

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

В моем случае это работало как шарм! Удачи!

Для всех, кто использует Scrollview во Фрагменте, как и я, я предлагаю вам использовать android.support.v4.widget.NestedScrollView. Таким образом, Панель инструментов и / или TabLayout будут прокручиваться вместе с Scrollview

Intereting Posts