我想使用 Glide Android 库下载图像并在 ImageView
中显示。
在之前我们使用的版本中:
Glide.with(mContext).load(imgUrl)
.thumbnail(0.5f)
.placeholder(R.drawable.PLACEHOLDER_IMAGE_NAME)
.error(R.drawable.ERROR_IMAGE_NAME)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
但我看过 Glide 文档:
it says use
GlideApp.with()
insteadGlide.with()
我担心的是缺少占位符、错误、GlideApp 和其他选项。
我正在使用
compile 'com.github.bumptech.glide:glide:4.0.0'
我哪里做错了?引用 here .
GlideApp.with()
是如何使用的?
API 与 AppGlideModule
在同一个包中生成,默认命名为 GlideApp
。应用程序可以通过使用 GlideApp.with()
而不是 Glide.with()
开始所有加载来使用 API:
GlideApp.with(fragment)
.load(myUrl)
.placeholder(placeholder)
.fitCenter()
.into(imageView);
最佳答案
尝试使用 RequestOptions :
RequestOptions requestOptions = new RequestOptions();
requestOptions.placeholder(R.drawable.ic_placeholder);
requestOptions.error(R.drawable.ic_error);
Glide.with(context)
.setDefaultRequestOptions(requestOptions)
.load(url).into(holder.imageView);
编辑
如果 .setDefaultRequestOptions(requestOptions)
不起作用,请使用 .apply(requestOptions)
:
Glide.with(MainActivity.this)
.load(url)
.apply(requestOptions)
.into(imageview);
// or this
Glide.with(MainActivity.this)
.load(url)
.apply(new RequestOptions().placeholder(R.drawable.booked_circle).error(R.drawable.booked_circle))
.into(imageview);
// or this
Glide.with(MainActivity.this)
.load(url)
.apply(RequestOptions.placeholderOf(R.drawable.booked_circle).error(R.drawable.))
.into(imageview);
编辑 2 奖励
以下是 Glide-4 的其他一些变化
- 如何使用
requestOptions.circleCropTransform();
- 如何使用
Cross fades()
- 如何使用
GlideDrawableImageViewTarget
在 Glide-4 中 - 如何使用
GifDrawable
作为目标参数
关于android - Glide-4.0.0 缺少占位符,错误,GlideApp 并且不解析其方法占位符,错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45481756/