在您向上滑动RecyclerView时向上滑动,或在向下滑动时向下滑动recyclerview

我想要创build一个带有RecyclerViewFragment ,当您滑动它时,它会滑动并显示更多的项目。

这是我正在谈论的一个例子。

初始创作:

在这里输入图像说明

用户滑动向上滑动RecyclerView ,显示更多项目:

在这里输入图像说明

有几个问题,我想不使用CoordinatorLayout ,我想将它设置到RecyclerView中的项目直接放在EditText顶部。

这是我正在使用的布局代码:

 <android.support.design.widget.CoordinatorLayout android:id="@+id/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:visibility="visible"> <android.support.design.widget.AppBarLayout android:id="@+id/appBarLayout" android:layout_width="match_parent" android:layout_height="400dp" android:background="@android:color/transparent" android:fitsSystemWindows="true" android:orientation="vertical"> <android.support.design.widget.CollapsingToolbarLayout android:id="@+id/collapsingToolbar" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/transparent" android:fitsSystemWindows="true" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <View android:id="@+id/emptyView" android:layout_width="match_parent" android:layout_height="400dp" android:background="@android:color/transparent" app:layout_collapseMode="parallax"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_behavior="@string/appbar_scrolling_view_behavior"/> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <EditText android:id="@+id/editText" android:paddingLeft="16dp" android:inputType="textAutoCorrect" android:layout_centerVertical="true" android:background="@android:color/transparent" android:layout_width="match_parent" android:layout_height="56dp"/> </RelativeLayout> </RelativeLayout> 

我得到这样的东西:

在这里输入图像说明

这绝对不是可扩展的,空洞的观点需要一致的衡量。

Solutions Collecting From Web of "在您向上滑动RecyclerView时向上滑动,或在向下滑动时向下滑动recyclerview"

我通过使用自定义的TouchListener解决了这个问题,所有其他的解决scheme都是非常基本的,仅限于特定的盒装用例。

我这样做的方式是基于这个库实现一个新的TouchListener

BounceTouchListener

我得到以下结果:

在这里输入图像说明

使用RecyclerView和两种types的行:

  1. 空行/行灰色(无分隔线)
  2. 您已经拥有内容的行

RecyclerView将必须match_parent到整个片段

因此,您将在RecyclerView上获得“空白”区域的正确效果。

在这里输入图像说明

你可以使用LinearLayoutManager的setReverseLayout

用于反转项目遍历和布局顺序。 这与RTL视图的布局更改类似。 当设置为true时,第一项布置在UI的末尾,第二项布置在之前等等。对于水平布局,取决于布局方向。 当设置为true时,如果RecyclerView是LTR,比从RTL布局,如果RecyclerView}是RTL,它将从LTR布局。 如果您正在查找与setStackFromBottom(boolean)完全相同的行为,请使用setStackFromEnd(boolean)