设置添加背景颜色以滑动图像

Luc*_*oli 5 android background android-glide

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

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

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

谢谢

gau*_*hra 1

这将根据您的 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);
                        }
Run Code Online (Sandbox Code Playgroud)

这是波乔:

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

    }
}
Run Code Online (Sandbox Code Playgroud)

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