话不多说,直接上代码
我是直接封装成了一个单独的类方便多出重复使用。
- RecyclerView 滑动时的优化处理,在滑动时停止加载图片,在滑动停止时开始加载图片,这里用了Glide.pause 和Glide.resume
public class RecyclerViewUtils {
/**
* @desc 在RecyclerView滑动时停止加载图片,在滑动停止时开始加载图片(基于RecyclerView跟Glide)
*/
public static void ScrollSuspend(Context context, RecyclerView recyclerView) {
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
if (newState == RecyclerView.SCROLL_STATE_DRAGGING || newState == RecyclerView.SCROLL_STATE_SETTLING) {
Glide.with(context).pauseRequests();
} else if (newState == RecyclerView.SCROLL_STATE_IDLE) {
Glide.with(context).resumeRequests();
}
}
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
}
});
}
}
使用
RecyclerViewUtils.ScrollSuspend(Home.this, binding.TimelineRecyclerView);
以上就是本文的全部内容,希望对大家的学习有所帮助。
有问题的可以及时留言呕~
完。。。