關於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總數,進行判斷,這裏不再貼代碼


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章