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為空");
}
}
});複製程式碼