Nested scroll View without scrolling using android

I am using Nested Scrollview to carry recyclerview and another button. It worked fine, but I noticed that when I scrolled it, it was not smooth. Please indicate how to make the scroll smooth.

<android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/scrollView" android:fillViewport="true"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/ic_action_filter" android:text="Filter" android:id="@+id/btn_filter" android:layout_margin="0dp" android:layout_weight="1" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableLeft="@drawable/ic_action_sortbyt" android:layout_margin="0dp" android:text="Sort By" android:id="@+id/btn_sortby" android:layout_weight="1"/> </LinearLayout> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/lastest_product_list" android:nestedScrollingEnabled="false" android:isScrollContainer="false"> </android.support.v7.widget.RecyclerView> </LinearLayout> </android.support.v4.widget.NestedScrollView> 
+9
source share
3 answers

try entering the codes below:

  RecyclerView recycleView = (RecyclerView) findViewById(R.id.lastest_product_list); recycleView.setNestedScrollingEnabled(false); 

You can change the layout

 <ScrollView> <LinearLayout> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/lastest_product_list" android:nestedScrollingEnabled="false" android:isScrollContainer="false"> </android.support.v7.widget.RecyclerView> </LinearLayout> 

Check with the link here: Recyclerview inside ScrollView doesn't scroll smoothly

+20
source

According to Android documentation android:nestedScrollingEnabled="false" works, but only on Android API level >= 21 .

If you want to support devices below API 21, use the following:

 ViewCompat.setNestedScrollingEnabled(recyclerView, false); 
+19
source

For smooth scrolling, you can change the layout manager that you set for coding to view recyclers. Hope this helps.

  RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity()) { @Override public boolean canScrollVertically() { return false; } }; recyclerView.setLayoutManager(layoutManager); 
+4
source

Source: https://habr.com/ru/post/1262796/


All Articles