4

I have recyclerview inside CollapsingToolbarLayout and I want it to be scrollable, but it is not. When I scroll, appbar is scrolling but not recyclerview. I tried different things, but it doesn't work. Here's my code:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/caves_content" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <android.support.design.widget.AppBarLayout android:id="@+id/appBar" android:layout_width="match_parent" android:layout_height="@dimen/app_bar_height" android:theme="@style/AppTheme.AppBarOverlay" android:fitsSystemWindows="true"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapse" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:layout_scrollFlags="scroll" android:nestedScrollingEnabled="true" app:titleEnabled="false"> <ImageView android:id="@+id/caves_backdrop" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" android:background="@mipmap/mount" android:adjustViewBounds="true" android:scaleType="centerCrop" /> <android.support.v7.widget.RecyclerView android:id="@+id/recycler" android:layout_width="match_parent" android:layout_height="200dp"/> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" app:theme="@style/WhiteToolbarStyle" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="none" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:id="@+id/nested" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <include layout="@layout/content"/> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.CoordinatorLayout> 

2 Answers 2

6

I Found solution:

recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() { @Override public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) { int action = e.getAction(); switch (action) { case MotionEvent.ACTION_MOVE: rv.getParent().requestDisallowInterceptTouchEvent(true); break; } return false; } @Override public void onTouchEvent(RecyclerView rv, MotionEvent e) { } @Override public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) { } }); 
Sign up to request clarification or add additional context in comments.

2 Comments

I am facing the same issue, but this solution not working for me.Could you please help me with same.
Just as aditional info: this solution does not work on pre-lollipop devices
0

Set The Horizontal Track as false in Appbarlayout

This Fixed the problem. Do Let me know if it's not working

Code

<com.google.android.material.appbar.CollapsingToolbarLayout android:id="@+id/toolbar_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:contentScrim="#fff" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:toolbarId="@+id/toolbar2" android:scrollbarAlwaysDrawHorizontalTrack="false" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:expandedTitleTextAppearance="@style/TransparentText"> 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.