前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >android Glide 在fragment出现第一次加载模糊的问题

android Glide 在fragment出现第一次加载模糊的问题

作者头像
包子388321
发布2020-06-16 19:00:59
7780
发布2020-06-16 19:00:59
举报

背景:

近期在公司开发中,项目开发中,出现了,在viewpager 中嵌套fragment中,glide加图片出现第一次加载的时候出现模糊的想象。

修改前:

展示代码:

@Override
   public View getView(int position, View convertView, ViewGroup parent) {
       ImageView imageView = new ImageView(mContext);
       imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
       ImageLoaderHelper.getInstance().displayChatGroupImage(mContext, imageView, data.get(position), R.drawable.bg_chat_group_default, 5);
       return imageView;
   }
@Override
    public void displayChatGroupImage(Context context, ImageView imageView, String url, int defaultImageResId, int radius) {
        Glide.with(context)
                .load(getChatGroupGlideUrl(url))
                .transform(new CenterCrop(context), new RoundTransform(context, radius))
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .placeholder(defaultImageResId)
                .into(imageView);
    }

为了达到居中并截取显示,默认Imageview显示都是正常,但是却是在第一次加载的时候出现了模糊,一直以为是缓存策略的问题,但是防线加了diskCacheStrategy(DiskCacheStrategy.ALL)也是没有效果的,后面才发现,缓存策略使用的是缓存所有,但是默认第一次显示是加载的是原图没有错,但是因为没有设置图片控件的具体宽度和高度,导致了第一次加载显示的是图片左上角的大图,

修正后:

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ImageView imageView = new ImageView(mContext);
        ViewGroup.LayoutParams params = null;
        if (isNormalSize) {
            params = new ViewGroup.LayoutParams(normalSize, normalSize);
        } else {
            params = new ViewGroup.LayoutParams(bigSize, normalSize);
        }
        imageView.setLayoutParams(params);
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        ImageLoaderHelper.getInstance().displayChatGroupImage(mContext, imageView, data.get(position), R.drawable.bg_chat_group_default, 5);
        return imageView;
    }

这样在第一次加载的时候就可以正常的展示出要的效果

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景:
  • 修改前:
  • 修正后:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档