Scrolling does not work properly for RecyclerView inside CoordinatorLayout

I actually have 2 problems

first. Scrolling does not work properly, sometimes when we scroll a very small distance in a certain direction and leave the touch, it scrolls very quickly to the end of that specific direction, i.e. up or down

second. I want the custom toolbar title to appear only when it crashed and when its extended title was hidden

Here is the xml code

<android.support.design.widget.CoordinatorLayout android:id="@+id/rootLayout" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" > <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="256dp" android:id="@+id/appBarLayout" > <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsingToolbarLayout" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:contentScrim="?attr/colorPrimary" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:clickable="true" android:foreground="?android:attr/selectableItemBackground" > <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/imageone" app:layout_collapseMode="parallax" app:layout_collapseParallaxMultiplier="0.7" android:scaleType="fitCenter" /> <android.support.v7.widget.Toolbar android:id="@+id/toolbar22" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:layout_collapseMode="pin" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/recyclerview1" android:layout_centerHorizontal="true" app:layout_behavior="@string/appbar_scrolling_view_behavior" android:layout_marginTop="-30dp" android:layout_marginLeft="3dp" android:layout_marginRight="3dp" /> <android.support.design.widget.FloatingActionButton android:id="@+id/fabBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_anchor="@id/appBarLayout" app:layout_anchorGravity="bottom|right|end" android:src="@drawable/ic_favourite" android:layout_marginBottom="@dimen/fab_margin_bottom" android:layout_marginRight="@dimen/fab_margin_right" app:fabSize="normal" /> 

enter image description here

+5
source share
2 answers

// hide and show the title when the toolbar expands and collapses

 appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() { boolean isShow = false; int scrollRange = -1; @Override public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) { if (scrollRange == -1) { scrollRange = appBarLayout.getTotalScrollRange(); } if (scrollRange + verticalOffset == 0) { //set your title when you scroll up collapsingToolbar.setTitle(title); isShow = true; } else if (isShow) { //title will disappear when you scroll down collapsingToolbar.setTitle(" "); isShow = false; } } }); 
0
source

In addition to the answer given by Kuldep, a solution to the first problem is given below:

To remove bad scroll behavior in RecyclerView, just set this attribute in RecyclerView:

 android:nestedScrollingEnabled="false" 

or do it dynamically, you can use:

 recyclerView.setNestedScrollingEnabled(false); 
0
source

All Articles