Android Glide: 防止请求失败时出现白图
Android Glide: prevent white image if the request fails
所以我感兴趣的是,如果提供的 url 是错误的,我是否可以阻止 Glide 将白色(空)图像加载到 ImageView 中。
我想保留我在 XML 中提供的图像,如果找不到图像(因为它可能因用户输入而出错)。
我试过在侦听器中返回 true,但我想那只是为了动画处理。
非常感谢!
public static void loadImage(String url, Context c, ImageView target) {
Glide.with(c).load(url).listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
e.printStackTrace();
return true;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
}).into(target);
}
}
您可以使用.error(mDefaultBackground) --> Sets a Drawable to display if a load fails.
来保留图像。就像下面
Drawable mDefaultBackground = getResources().getDrawable(R.drawable.default_background);
Glide.with(getActivity())
.load(uri)
.centerCrop()
.error(mDefaultBackground).into(target);
对于较新版本的 Glide,设置错误图像的语法如下:
Glide.with(mContext)
.load(url)
.error(Glide.with(imgView).load(R.drawable.ic_image_when_url_fails))
.into(imgView);
在 2020 年完美运行的最简单方法是
Glide.with(context)
.load(image)
.error(R.drawable.error_img) //in case of error this is displayed
.into(imageView);
所以我感兴趣的是,如果提供的 url 是错误的,我是否可以阻止 Glide 将白色(空)图像加载到 ImageView 中。 我想保留我在 XML 中提供的图像,如果找不到图像(因为它可能因用户输入而出错)。
我试过在侦听器中返回 true,但我想那只是为了动画处理。 非常感谢!
public static void loadImage(String url, Context c, ImageView target) {
Glide.with(c).load(url).listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
e.printStackTrace();
return true;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
}).into(target);
}
}
您可以使用.error(mDefaultBackground) --> Sets a Drawable to display if a load fails.
来保留图像。就像下面
Drawable mDefaultBackground = getResources().getDrawable(R.drawable.default_background);
Glide.with(getActivity())
.load(uri)
.centerCrop()
.error(mDefaultBackground).into(target);
对于较新版本的 Glide,设置错误图像的语法如下:
Glide.with(mContext)
.load(url)
.error(Glide.with(imgView).load(R.drawable.ic_image_when_url_fails))
.into(imgView);
在 2020 年完美运行的最简单方法是
Glide.with(context)
.load(image)
.error(R.drawable.error_img) //in case of error this is displayed
.into(imageView);