我想使用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文档:
我担心的是缺少占位符,错误,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
GifDrawable
作为目标参数