Android 通過OnScrollListener來監聽RecyclerView的位置


最近做一個漫畫app,在閱讀漫畫界面需要通過獲取recyclerView的位置來實時更新界面上的圖片進度(比如1/9),

查閱資料得知了可以通過LayoutManager來獲取recyclerView的item位置信息。那么由於這里我的是一幅圖是整個屏幕大小,所以通過代碼:

LinearLayoutManager l = (LinearLayoutManager)recyclerView.getLayoutManager();
adapterNowPos = l.findFirstVisibleItemPosition();
allItems = l.getItemCount();

其中,adapterNowPos 就是當前的圖片位置,

allItems 則是recyclerView中的所有條目數量。

接下來需要搞定的就是動態通知了,於是我們給recyclerView添加一個滑動監聽器

完整的代碼如下:

recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener(){
        @Override
        public void onScrolled(RecyclerView recyclerView,int dx,int dy){
            super.onScrolled(recyclerView,dx,dy);
            LinearLayoutManager l = (LinearLayoutManager)recyclerView.getLayoutManager();
            adapterNowPos = l.findFirstVisibleItemPosition();
            allItems = l.getItemCount();
            String s = adapterNowPos+1+"/"+allItems;
            comic_pic_state.setText(s);//設置圖片的數量
            pic_state_top.setText(s);
        }
    });

這樣就完成了實時更新。

 

下面上圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM