android Palette 自动识别图片颜色

来源:互联网 发布:淘宝开店需要的csv 编辑:程序博客网 时间:2024/05/21 17:07


使用android 自带的Palette抽取Bitmap主色调

有时候为了让app ui 颜色格调一致,需要获取图片的主色调,设置为Toolbar,标题,状态栏的颜色等。

这个时候Palette 优势就体现出来了。

先上一个效果图



这图看起来很厉害,很嗨吧。

实现关键步骤


dependencies {
compile 'com.android.support:palette-v7:23.0.0'
}


准备一个bitmap

Bitmap bitmap = BitmapFactory.decodeResource();

Palette.Builder builder = Palette.from(bitmap);

builder.generate(new Palette.PaletteAsyncListener() {
@Override
public void onGenerated(Palette palette) {

Palette.Swatch s = p.getVibrantSwatch(); //获取到充满活力的这种色调
Palette.Swatch s = p.getDarkVibrantSwatch(); //获取充满活力的黑
Palette.Swatch s = p.getLightVibrantSwatch(); //获取充满活力的亮
Palette.Swatch s = p.getMutedSwatch(); //获取柔和的色调
Palette.Swatch s = p.getDarkMutedSwatch(); //获取柔和的黑
Palette.Swatch s = p.getLightMutedSwatch(); //获取柔和的亮

List<Swatch>  mSwatch= palette.getSwatches()//获取到多种颜色

vibrant.getBodyTextColor();  // 获取文本颜色,避免在特殊颜色背景下,看不到文本

vibrant.getTitleTextColor();



});





猛戳这里点击关注公众号⬇️ 即可了解我们更多:








原创粉丝点击