大飞

大飞 关注TA

挑战一切!

大飞

大飞

关注TA

挑战一切!

  •  世界的顶端
  • 混口饭吃
  • 写了333,609字

最近回复

该文章投稿至Nemo社区   Android  板块 复制链接


recycleview滚动中禁止图片加载

发布于 2017/06/06 13:00 1,956浏览 0回复 924

  滚动中禁止图片加载,无疑要在滚动事件(onScrollStateChanged)中做对应的操作。

 recycleview的滚动中有三种状态:

 状态为0时:当前屏幕停止滚动;          //需要加载图片

状态为1时:屏幕在滚动 且 用户仍在触碰或手指还在屏幕上; //禁止加载图片

状态为2时:随用户的操作,屏幕上产生的惯性滑动; //禁止加载图片

这样思路非常清晰,看代码

 @Override
    public void onScrollStateChanged(int state) {
        super.onScrollStateChanged(state);
      
        if (state == RecyclerView.SCROLL_STATE_DRAGGING || state == RecyclerView.SCROLL_STATE_SETTLING) {//滚动中和惯性滑动
            sIsScrolling = true;
            Glide.with(getContext()).pauseRequests(); //禁止加载图片
        } else if (state == RecyclerView.SCROLL_STATE_IDLE) { //停止滚动
            if (sIsScrolling == true) {
                Glide.with(getContext()).resumeRequests();   //需要加载图片

            }
            sIsScrolling = false;
        }

    }

 如果采用其他图片加载控件也是一样的原理,如imageload 禁止使用imageLoader.pause(); 加载使用 imageLoader.resume();

点赞(0)
点了个评