RecyclerView Glide加载图片刷新时会闪一下
2016-12-01 15:20
1121 查看
最近遇到使用RecyclerView,Glide加载图片,当点击图片进行刷新,不管是局部刷新还是全部刷新的时候,都会使用glide重新加载图片,这时候如果glide加载图片的时候没设置好就会出现刷新的时候闪烁的问题,当然这是我出现的问题。
网上很多基本都是说recyclerview刷新闪烁是因为默认动画导致的mRecyclerView.setItemAnimator(new DefaultItemAnimator()),通过自定义动画修改代码
然而我这样做了,并没有什么卵用
还有一种直接方法,setSupportsChangeAnimations(false)直接取消动画
都试过并没有解决刷新闪烁的问题。后来发现原来是glide设置了跳过内存缓存skipMemoryCache(true)导致的
网上很多基本都是说recyclerview刷新闪烁是因为默认动画导致的mRecyclerView.setItemAnimator(new DefaultItemAnimator()),通过自定义动画修改代码
将DefaultItemAnimator类里的代码全部copy到自己写的动画类中,然后做一些修改。 首先找到private void animateChangeImpl(final ChangeInfo changeInfo) {}方法。 找到方法里这两句代码: 1:oldViewAnim.alpha(0).setListener(new VpaListenerAdapter() { ... } 2:newViewAnimation.translationX(0).translationY(0).setDuration(getChangeDuration()).alpha(1).setListener(new VpaListenerAdapter() { ... } 替换成: 1:oldViewAnim.setListener(new VpaListenerAdapter() { ... } 2newViewAnimation.translationX(0).translationY(0).setDuration(getChangeDuration()).setListener(new VpaListenerAdapter() { ... } 也就是说分别去掉上述代码中的alpha(0)和alpha(1),然后保存。这个时候基本就打工告成了。最后在自己的RecyclerView中进行如下调用mRecyclerView.setItemAnimator(new NoAlphaItemAnimator());,再跑起来,bug完美解决。
然而我这样做了,并没有什么卵用
还有一种直接方法,setSupportsChangeAnimations(false)直接取消动画
` ((SimpleItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false);
都试过并没有解决刷新闪烁的问题。后来发现原来是glide设置了跳过内存缓存skipMemoryCache(true)导致的
相关文章推荐
- 刷新加载RecyclerView+图片加载Glide+多样式布局(二)
- 刷新加载RecyclerView+图片加载Glide+多样式布局(二)
- RecyclerView刷新布局时Glide加载图片闪现
- recyclerview 显示图片 glide加载图片 实现点击跳转 上拉刷新下拉加载
- Glide结合Recyclerview(Listview)实现列表滑动的时候图片不加载,滑动停止的时候加载
- OkHttp解析数据,RecyclerView和Glide的加载图片
- 关于在RecyclerView中使用UniversalImageLoader加载图片刷新数据时引起的闪烁问题
- 使用recyclerview多条目加载代替listview okhttp请求网路 Glide加载图片
- Android框架之路——Glide加载图片(结合RecyclerView、CardView)
- Recyclerview 列表中 使用Glide加载图片,下拉 或者上拉 加载数据,图片闪 烁 ,
- Glide开源库结合RecyclerView实现加载图片
- Android框架之路——Glide加载图片(结合RecyclerView、CardView)
- recyclerview+okhttp+glide实现网络请求加载图片列表
- Glide结合Recyclerview(也适用于Listview)实现列表滑动的时候图片不加载,滑动停止的时候加载(已修正Listview部分以及排版)
- Android RecyclerView利用Glide加载大量图片into(Target)导致OOM异常
- 解决RecyclerView中使用UIL加载网络图片,在刷新时出现闪烁问题
- RecyclerView加载更多用notifyDataSetChanged()刷新图片闪烁
- 【Android】Glide结合Recyclerview(也适用于Listview)实现列表滑动的时候图片不加载,滑动停止的时候加载(已修正Listview部分以及排版)
- 用Glide加载图片到Recyclerview中有时候只显示占位图的问题
- RecyclerView利用Glide加载大量图片into(Target)导致OOM异常