在Picasso完成下载图像以使用调色板时进行聆听

时间:2015-03-15 20:55:26

标签: android picasso android-palette

我想在Android中使用Palette库。我也在使用Picasso将图像加载到imageview中。有没有办法知道Picasso何时加载图像,以便我可以从调色板中的图像中获取颜色?

Picasso.with(context).load("http://urlForImage").placeholder(R.drawable.place_holder_image).into(imageView);
Palette.generateAsync(BITMAP, new Palette.PaletteAsyncListener() {
                @Override
                public void onGenerated(Palette palette) {
                    //do stuff with palette...
                }
            });

1 个答案:

答案 0 :(得分:1)

使用picassoPalette第三方库并将其导入您的项目,然后使用以下代码:

try {
    ContextWrapper cw = new ContextWrapper(OtherUserProfileScreenActivity.this);
    Picasso.with(this).load(image + ".jpg").placeholder(R.drawable.ic_loading).error(R.drawable.ic_error).into(imageView, PicassoPalette.with(Image + ".jpg", imageView).use(PicassoPalette.Profile.MUTED_DARK).intoCallBack(new BitmapPalette.CallBack() {
        @Override
        public void onPaletteLoaded(Palette palette) {

            int mutedColor = palette.getMutedColor(R.attr.colorPrimary);
            mCollapsingToolbarLayout.setContentScrimColor(mutedColor);
        }
    }));
} catch (OutOfMemoryError e) {
    e.printStackTrace();
    System.gc();
}