NestedScrollView中的RecyclerView smoothScroll

时间:2018-02-19 17:52:16

标签: android android-recyclerview smooth-scrolling android-nestedscrollview nestedscrollview

我在NestedScrollView中有一个recyclerView。我知道这不是一个好习惯,但我需要一个听众来滚动。

当用户到达recyclerView的最后时,侦听器包含通知。这有一个gridLayoutManager,有3个网格,可见的行数取决于屏幕的大小。

一切正常但光滑的滚动。

<android.support.v4.widget.NestedScrollView
    android:id="@+id/nestedGalleryAll"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/galleryAll"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</android.support.v4.widget.NestedScrollView>

这就是我的应用程序的工作方式。

Example screen gif

1 个答案:

答案 0 :(得分:0)

在您的活动中试试这个.. recylerView.setNestedScrollingEnabled(false); .... 修改要通知用户他是否已结束...请使用此

recyclerView.addOnScrollListener(new      RecyclerView.OnScrollListener() { 

   @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy)
   {  

  LinearLayoutManager layoutManager=LinearLayoutManager.class.cast(recyclerView.getLayoutManager()); 
   int totalItemCount = layoutManager.getItemCount();

   int lastVisible = 
    layoutManager.
    findLastVisibleItemPosition();                     boolean
 endHasBeenReached 
 = lastVisible + 5 
    >= totalItemCount;
 if (totalItemCount > 0 && endHasBeenReached) 

 { //you have reached to the bottom of your recycler view } } });