Glide获取图片颜色,可重置不符合的网络图片为默认图
2019-08-21 本文已影响0人
APP福星高照
在开发中,有时服务器返回的图片是个白板或是个空图。这时应该显示为我们的缺省图才对。
要怎么才知道图片为白板呢。
如在您是用Glide加载的,那么恭喜你有个方法很方便地判断。
就是:通过listener的intoCallBack , 详细代码如下
Glide.with(mContext)
.load(model.img_url)
.placeholder(R.drawable.default_img)
.listener(GlidePalette.with(model.img_url)
.use(GlidePalette.Profile.VIBRANT_DARK)
.intoCallBack(new BitmapPalette.CallBack() {
@Override
public void onPaletteLoaded(@Nullable Palette palette) {
Palette.Swatch swatch = palette.getDominantSwatch();
//对象为空,说明未获取到swatch对象,可能图片为纯色
if (swatch == null) {
handler.post(new Runnable() {
@Override
public void run() {
Glide.with(mContext).load(R.drawable.default_img).into(img1);
// img1.setImageResource(R.drawable.default_img);
}
});
// else {
// int rgb = swatch.getRgb();
// }
}
}
}))
.into(img1);