android – 设置为滑行图像添加背景颜色

我在这个模式下使用Glide在
ImageView中设置png图像(带透明胶片):

Glide.with(context).load(url)
                .crossFade()
                .placeholder(R.drawable.no_contest)
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .into((ImageView)container);

是否可以在不设置ImageView背景颜色的情况下设置图像的背景颜色?

谢谢

最佳答案 这将根据您的gif设置背景颜色.

滑翔代码:

 Glide.with(context).load(newspojo.getImageLink())
                                   .asGif()
                                    .listener(new RequestListener<String, GifDrawable>() {
                                        @Override
                                        public boolean onException(Exception e, String model, Target<GifDrawable> target, boolean isFirstResource) {
                                            return false;
                                        }

                                        @Override
                                        public boolean onResourceReady(GifDrawable resource, String model, Target<GifDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {

                                            final Pojo pojo = new Pojo();
                                            final GifDrawable resources = resource;
                                            Palette.from(resource.getFirstFrame()).generate(new Palette.PaletteAsyncListener() {
                                                @Override
                                                public void onGenerated(@NonNull Palette palette) {

                                                    if (pojo.getPosterPalette() != null) {
                                                        setUpInfoBackgroundColor(holder.ivRow, palette);
                                                    } else {
                                                        Palette.from(resources.getFirstFrame()).generate(new Palette.PaletteAsyncListener() {
                                                            public void onGenerated(Palette palette) {
                                                                pojo.setPosterPalette(palette);
                                                                setUpInfoBackgroundColor(holder.ivRow, palette);
                                                            }
                                                        });
                                                    }
                                                }
                                            });
                                            return false;
                                        }
                                    })
                                    .into(holder.ivRow);
                        }

这是Pojo:

public class Pojo {
    public Palette posterPalette;
    public Palette getPosterPalette() {
        return posterPalette;
    }
    public void setPosterPalette(Palette posterPalette) {
        this.posterPalette = posterPalette;
    }
    public Pojo(){

    }
}

并在build.gradle中添加:
实现’com.android.support:palette-v7:27.1.1′

点赞