zoukankan      html  css  js  c++  java
  • 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);
            }
        });

    这样就完成了实时更新。

    下面上图:

  • 相关阅读:
    【今日CS 视觉论文速览】Mon, 7 Jan 2019
    文章汇总页面
    【MarkDown】转义字符
    hdu 4678 Mine 博弈论
    hdu 4294 Multiple
    hdu 4291 A Short problem
    hdu 4672 Present Day, Present Time 博弈论
    hdu 3544 Alice's Game 博弈论
    hdu 3389 Game 博弈论
    hdu 2147 kiki's game 博弈论
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/7203989.html
Copyright © 2011-2022 走看看