在RecyclerView底部禁用过度滚动效果

时间:2020-10-07 12:06:07

标签: android

在我的程序中,底部滚动效果看起来很差,所以我只想在顶部显示过度滚动效果。

enter image description here

这是包含recyclerview的xml文件。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipToPadding="false"
    android:clipChildren="false">
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/day_events_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
</RelativeLayout>

设置属性android:overScrollMode="never"时,上下滚动效果均不显示。 谁能解决这个问题?

1 个答案:

答案 0 :(得分:2)

您可以使用这样的侦听器:

myRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        super.onScrolled(recyclerView, dx, dy);

        if (dy > 0) {

            int pos = linearLayoutManager.findLastVisibleItemPosition();
            int numItems = myRecyclerView.getAdapter().getItemCount();

            if (pos >= numItems - 1 ) {
                recyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER);
            }else{
                 recyclerView.setOverScrollMode(View.OVER_SCROLL_ALWAYS); 
              }
        }
    }
});