Android开发功能库总结

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);
上一篇 下一篇

猜你喜欢

热点阅读