RecyclerView判断是否可以滚动。
网上的例子我都试过了,不行。
一、layoutManager.findLastCompletelyVisibleItemPosition() < adapter.getItemCount()-1
二、computeHorizontalScrollRange() > getWidth() || computeVerticalScrollRange() > getHeight();
三、canScrollVertically(0 / 1 / -1)
RecyclerView判断是否可以滚动。
网上的例子我都试过了,不行。
一、layoutManager.findLastCompletelyVisibleItemPosition() < adapter.getItemCount()-1
二、computeHorizontalScrollRange() > getWidth() || computeVerticalScrollRange() > getHeight();
三、canScrollVertically(0 / 1 / -1)
基于Monster 组和GPT的调写:
用canScrollVertically()或canScrollHorizontally()方法,这两个方法都是RecyclerView的方法,可以检查是否可以在垂直或水平方向上滚动。如果返回值为true,则表示可以滚动,否则不能滚动。
示例代码:
// 判断RecyclerView是否可以垂直滚动
boolean isVerticalScrollable = recyclerView.canScrollVertically(1) || recyclerView.canScrollVertically(-1);
if (isVerticalScrollable) {
// 可以滚动
} else {
// 不能滚动
}
// 判断RecyclerView是否可以水平滚动
boolean isHorizontalScrollable = recyclerView.canScrollHorizontally(1) || recyclerView.canScrollHorizontally(-1);
if (isHorizontalScrollable) {
// 可以滚动
} else {
// 不能滚动
}
如果RecyclerView的LayoutManager不支持滚动(例如,它是一个GridLayoutManager,但是设置了固定的列数和行数),则无论如何都会返回false。