前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Glide 升级到 4.x 所遇问题

Glide 升级到 4.x 所遇问题

作者头像
Jingbin
修改2019-05-23 10:05:30
2.6K0
修改2019-05-23 10:05:30
举报
文章被收录于专栏:Android 技术栈Android 技术栈

环境:Android studio 3.4 Gradle 5.1.1

最近有人反馈项目gradle升级到3.4报错,现排查问题如下: 引入gradle最新插件: classpath 'com.android.tools.build:gradle:3.4.0'

提示报错:

glide不存在.jpg

因为之前项目中引入的是基于glide的三方包:jp.wasabeef:glide-transformations:2.0.1

transformations只是glide的拓展,用于实现高斯模糊和圆角等效果,现如今已升级到 4.0.1,猜测是还需要引入官方的glide,于是引入官方的glide:

代码语言:javascript
复制
// 官方 Glide
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
// 高斯模糊和圆角等
implementation 'jp.wasabeef:glide-transformations:4.0.1'

因为glide的升级,后来报了一系列的错误,改正如下:

旧版

glide 4.9.0

crossFade(500)

transition(DrawableTransitionOptions.withCrossFade(500))

transform(new GlideCircleTransform(v.getContext()))

transform(new GlideCircleTransform())

bitmapTransform(new BlurTransformation(this, 23, 4))

apply(bitmapTransform(new BlurTransformation( 50, 8)))

listener(new RequestListener<String, GlideDrawable>()...

listener(new RequestListener<Drawable>()...

提示:

  • glide 4.9.0 可以直接配置圆形和圆角图片 transforms(new CircleCrop())
  • 渐变设置和监听设置有更改
  • asBitmap() 需要设置在 load(url)之前

完整设置:

代码语言:javascript
复制
Glide.with(imageView.getContext())
        .asBitmap() // 不显示gif图
        .load(imageUrl)
        .transition(DrawableTransitionOptions.withCrossFade(500)) // 渐变
        .placeholder(R.drawable.ic_avatar_default)// 加载中图片
        .error(R.drawable.ic_avatar_default) // 加载失败图片
        .transforms(new CircleCrop()) // 圆形图片
        .transforms(new RoundedCorners(20)) // 圆角图片
        .apply(bitmapTransform(new BlurTransformation(50, 8))) // 高斯模糊,参数1:模糊度;参数2:图片缩放x倍后再进行模糊
        .listener(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) {
                            return false;
                        }
                    }).into(imageView);
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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