关于Recycleview滑动事件的监听-包括上下滑

现在来总结下Recycleview的滑动监听

相信很多人朋友在开发中经常有这种需求

常见需求监听 上滑,下滑 ,top,以及bottom

简单明白上代码

public void onScrolled(RecyclerView recyclerView, int dx, int dy) {}
这个方法监听上下滑
如果 dx>0 则表示 右滑 ,dx<0 表示 左滑
//                dy <0 表示 上滑, dy>0 表示下滑
    @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);

                //onScrollStateChanged 方法
                RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();
//判断是当前layoutManager是否为LinearLayoutManager
//只有LinearLayoutManager才有查找第一个和最后一个可见view位置的方法
                if (layoutManager instanceof LinearLayoutManager) {
                    LinearLayoutManager linearManager = (LinearLayoutManager) layoutManager;
                    //获取最后一个可见view的位置
                    int lastItemPosition = linearManager.findLastVisibleItemPosition();
                    //获取第一个可见view的位置
                    int firstItemPosition = linearManager.findFirstVisibleItemPosition();
 
   
拿到第一个位置,顶部的判断就已经很简单了
底部判断的话,同理有最后一个位置,加上item总数,进行判断,这里不再贴代码
 
   
 
   

你可能感兴趣的:(android)