美文网首页
RecyclerView刷新数据时闪烁

RecyclerView刷新数据时闪烁

作者: 吃饱了就送 | 来源:发表于2020-05-21 16:27 被阅读0次

关闭recyclerview动画

recyclerView.getItemAnimator().setAddDuration(0);
        recyclerView.getItemAnimator().setChangeDuration(0);
        recyclerView.getItemAnimator().setMoveDuration(0);
        recyclerView.getItemAnimator().setRemoveDuration(0);
        ((SimpleItemAnimator)recyclerView.getItemAnimator()).setSupportsChangeAnimations(false);
      

此时可以解决item闪烁,但是item中图片仍然会闪烁,我的解决方法是给imageview设置tag

String imageUrl = bean.getProductPic();
            if(ivLogo.getTag() == null){
                Glide.with(AppContext.getmInstance())
                        .load(imageUrl)    // 指定图片地址
                        .placeholder(R.drawable.musiczhanwei)  // 未加载图片前的默认图
                        .error(R.drawable.musiczhanwei)        // 加载失败显示的图片
                        .centerCrop()      // 图片缩放类型
                        .addListener(new RequestListener<Drawable>() {

                            @Override
                            public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                                return false;
                            }

                            @Override
                            public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                                ivLogo.setTag(imageUrl);
                                return false;
                            }
                        })
                        .diskCacheStrategy(DiskCacheStrategy.AUTOMATIC) //自动选择缓存策略
                        .priority(Priority.NORMAL)     // 设置加载的优先级
                        .into(ivLogo);
            }

相关文章

网友评论

      本文标题:RecyclerView刷新数据时闪烁

      本文链接:https://www.haomeiwen.com/subject/fayunhtx.html