本文主要是介绍android Palette 自动识别图片颜色,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用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();
}
});
猛戳这里点击关注公众号⬇️ 即可了解我们更多:
这篇关于android Palette 自动识别图片颜色的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!