onScrollStateChanged监听滑动状态,当用户停止滑动时,使用canScrollVertically判断RecyclerView是否可以继续上下滑动(返回false表示无法向该方向滑动,返回true表示可以继续向该方向滑动) 传入负值返回false表示到达顶部,RecyclerView无法继续向下滑动,传入正值返回false表示到达底部,RecyclerView无法继续向上滑动 @Override public void onScrollStateChanged(int state) { super.onScrollStateChanged(state); if (state == RecyclerView.SCROLL_STATE_IDLE) { //当前状态为停止滑动 LogU.d("onScrollStateChanged=" + canScrollVertically(-1)); if (!canScrollVertically(1)) { // 到达底部 if (myScrollListener != null) { myScrollListener.srollToBottom(); } } else if (!canScrollVertically(-1)) { // 到达顶部 if (myScrollListener != null) { myScrollListener.scrollToTop(); } } } }
private OnMyScrollListener myScrollListener;
public void registerOnMyScroll(OnMyScrollListener l) { myScrollListener = l; }
mRecyc.registerOnMyScroll(new MyRecyclerView.OnMyScrollListener() { @Override public void srollToBottom() { } @Override public void scrollToTop() { } });