Glide 升級到 4.x 所遇問題

環(huán)境:Android studio 3.4 Gradle 5.1.1

最近有人反饋項目gradle升級到3.4報錯,現(xiàn)排查問題如下:
引入gradle最新插件:
classpath 'com.android.tools.build:gradle:3.4.0'

提示報錯:


glide不存在.jpg

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

transformations只是glide的拓展,用于實現(xiàn)高斯模糊和圓角等效果,現(xiàn)如今已升級到 4.0.1,猜測是還需要引入官方的glide,于是引入官方的glide:

// 官方 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)) transform(new BlurTransformation(50, 8))
listener(new RequestListener<String, GlideDrawable>()... listener(new RequestListener<Drawable>()...

提示:

  • glide 4.9.0 可以直接配置圓形和圓角圖片 transforms(new CircleCrop())
  • 漸變設置和監(jiān)聽設置有更改
  • asBitmap() 需要設置在 load(url)之前

完整設置:

Glide.with(imageView.getContext())
        .asBitmap() // 不顯示gif圖
        .load(imageUrl)
        .transition(DrawableTransitionOptions.withCrossFade(500)) // 漸變
        .placeholder(R.drawable.ic_avatar_default)// 加載中圖片
        .error(R.drawable.ic_avatar_default) // 加載失敗圖片
        .transform(new CircleCrop()) // 圓形圖片
        .transform(new RoundedCorners(20)) // 圓角圖片
        .transform(new BlurTransformation(50, 8)) // 高斯模糊,參數(shù)1:模糊度;參數(shù)2:圖片縮放x倍后再進行模糊
        .listener(new RequestListener<Drawable>() { // 加載監(jiān)聽
                        @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);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容