Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hiding Toolbar on scroll with recyclerview inside fragment

I'm trying to get the toolbar to collapse on scroll when a recyclerview inside a fragment is scrolled. To start, heres my main layout:

<DrawerLayout>       <RelativeLayout         android:id="@+id/mainRelativeLayout"         android:layout_width="match_parent"         android:layout_height="match_parent"         >          <android.support.design.widget.CoordinatorLayout             android:layout_width="match_parent"             android:layout_height="wrap_content"               >              <android.support.design.widget.AppBarLayout                 android:id="@+id/appBarLayout"                 android:layout_width="match_parent"                 android:layout_height="wrap_content"                 >                  <Toolbar                     android:id="@+id/toolbar"                     android:layout_width="match_parent"                     android:layout_height="?attr/actionBarSize"                     android:elevation="5dp"                     app:layout_scrollFlags="scroll|enterAlways"                     >                  </Toolbar>              </android.support.design.widget.AppBarLayout>              <FrameLayout                 android:id="@+id/container"                 android:layout_width="match_parent"                 android:layout_height="match_parent"                 />          </android.support.design.widget.CoordinatorLayout>      </RelativeLayout>  <!-- ignore --> <drawercontents> </DrawerLayout> 

So as you can probably guess my fragments are being loaded into @id/container. My first fragment contains the recyclerview, and I set app:layout_behavior="@string/appbar_scrolling_view_behavior" on that recyclerview. This does work, and the toolbar collapses on scroll. The issue is the toolbar covers the top contents of the fragment when its not collapsed. Adding a top margin to the fragment container equal to the size of the toolbar just causes a blank space to be left when the toolbar collapses (obviously).

Whats missing here? Any ideas?

EDIT: As requested, here is the layout for the fragment containing the recyclerview:

<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.RecyclerView     android:id="@+id/feed"     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:background="#00000000"     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 
like image 233
Orbit Avatar asked Feb 22 '16 06:02

Orbit


1 Answers

<?xml version="1.0" encoding="utf-8"?> <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:id="@+id/tabanim_appbar"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">          <android.support.v7.widget.Toolbar             android:id="@+id/tabanim_toolbar"             android:layout_width="match_parent"             android:layout_height="?attr/actionBarSize"             android:background="?attr/colorPrimary"             app:layout_scrollFlags="scroll|enterAlways|snap"             app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />      </android.support.design.widget.AppBarLayout>      <android.support.v7.widget.RecyclerView         android:id="@+id/recyclerView"         android:layout_width="match_parent"         android:layout_height="match_parent"         app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout> 
like image 166
Laurence Pardz Avatar answered Oct 26 '22 17:10

Laurence Pardz