Palette简介
Palette是Android中的调色板,我们可以通过传递一个Bitmap来获取一个颜色列表,可以通过类中封装的分析算法来获取其中的
- Vibrant(充满活力的)
- Vibrant dark(充满活力的黑)
- Vibrant light(充满活力的亮)
- Muted(柔和的)
- Muted dark(柔和的黑)
Muted lighr(柔和的亮)
也可以获取一个颜色列表,自己写算法挑选你想获取的颜色
官方APi提供两种方式
// Synchronous
Palette p = Palette.from(bitmap).generate();
// Asynchronous
Palette.from(bitmap).generate(new PaletteAsyncListener() {
public void onGenerated(Palette p) {
// Use generated instance
}
});
使用的时候引入
compile 'com.android.support:palette-v7:22.2.0'
使采用异步方式进行引用
Palette.from(bitmap).generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {
Palette.Swatch swatch = palette.getMutedSwatch();
//Palette.Swatch swatch = palette.getVibrantSwatch();
//Palette.Swatch swatch = palette.getDarkMutedSwatch();
//Palette.Swatch swatch = palette.getDarkVibrantSwatch();
//Palette.Swatch swatch = palette.getLightMutedSwatch();
//Palette.Swatch swatch = palette.getLightVibrantSwatch();
if (swatch != null) {
view.setBackgroundColor(swatch.getRgb());
} else {
Log.e("smallsoho", "swatch为空");
}
}
});
github上有提供和图片加载结合的library使用起来比较简单
参考资料
http://smallsoho.com/2015/07/22/Android-Palette.html http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1111/1955.html