美文网首页android
Glide的使用问题——网络图片与占位图比例不一致时Glide不

Glide的使用问题——网络图片与占位图比例不一致时Glide不

作者: 南宫知晓 | 来源:发表于2019-08-21 19:11 被阅读0次

    在StackOverflow上找到的办法:Glide: load drawable but don't scale placeholder

    Glide.with(context)
    
                        .load(product.getImageUrl())
    
                        .placeholder(R.mipmap.img_scp_product_default)
    
                        .error(R.mipmap.img_scp_product_default)
    
                        .listener(new RequestListener<String, GlideDrawable>() {
    
                            @Override
    
                            public boolean onException(Exception e, String model, Target<GlideDrawable> target,
    
                                    boolean isFirstResource) {
    
                                return false;
    
                            }
    
                            @Override
    
                            public boolean onResourceReady(GlideDrawable resource, String model,
    
                                  Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
    
                                // 在更新网络图片后会导致图片按占位符的比例缩放,只有重新加载后图片才正常显示
    
                                // 这里通过移除占位符后再重新加载图片实现图片按比例显示,但是会导致短暂的闪烁
    
                                productHolder.imgProduct.setImageResource(0);
    
                                return false;
    
                            }
    
                        })
    
                        .into(productHolder.imgProduct);
    

    通过设置请求结果的监听,在得到请求结果后移除占位图,这样图片就能按本身的尺寸加载。

    这会导致的问题是在移除和加载网络图片之间会有短暂的闪烁,设置淡入淡出动画没有效果,后面会尝试添加自定义动画看是否能避免闪烁。

    相关文章

      网友评论

        本文标题:Glide的使用问题——网络图片与占位图比例不一致时Glide不

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