Android 通过OnScrollListener来监听RecyclerView的位置

Posted 星辰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);
        }
    });

这样就完成了实时更新。

 

下面上图:

技术分享

以上是关于Android 通过OnScrollListener来监听RecyclerView的位置的主要内容,如果未能解决你的问题,请参考以下文章

Android开发之通过反射获取到Android隐藏的方法

markdown [android debug]通过Android SDK调试Android终端。 #test #debug #android

android 通过命令行启动Apk

Android - 切换按钮仅通过滑动改变状态

Android:通过 Playstore 安装时,Spotify 身份验证在 Android 6.0 上不起作用

通过 Android 眼睛检测和 OpenCV 跟踪在 android 中睁眼和闭眼