android palette组件用法,Android Palette(调色板)的使用

一、Palette的简单介绍

android-support-v7-palette 里面的Palette是Android L SDK 中的新特性,可以使用 Palette 从图像中提取出突出的颜色(主色调),获取到颜色之后我们再将这个颜色值赋给 ActionBar、状态栏等。从而达到界面色调的统一,使界面美观协调。

原理

通过得到一个bitmap,通过方法进行分析,取出LightVibrantSwatch,DarkVibrantSwatch,LightMutedSwatch,DarkMutedSwatch这些样本,然后得到rgb。

Palette这个类中提取以下突出的颜色

Vibrant (有活力)

Vibrant dark(有活力 暗色)

Vibrant light(有活力 亮色)

Muted (柔和)

Muted dark(柔和 暗色)

Muted light(柔和 亮色)

创建方法

//目标bitmap

Bitmap bm =BitmapFactory.decodeResource(getResources(),R.drawable.kale);

//方法1

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

Palette palette=builder.generate();

//方法2 使用异步

builder.generate(bitmap, new Palette.PaletteAsyncListener() {

@Override

public void onGenerated(Palette palette) {

// Here's your generated palette

}

二、内部嵌套类和常用方法

Palette.Builder

生成器类,生成 Palette 实例。

Palette.Filter

过滤器接口,使 Palette 有更加细腻的颜色过滤

Palette.PaletteAsyncListener

异步加载监听

pattle.Swatch

提供获取结果的色彩样本

from(List switches)

通过预设的 Palette.Swatch 颜色样本列表 来生成 Palette

返回值:static Palette

from(Bitmap bitmap)

通过返回 Palette.Builder 实例来构建 Palette

返回值:static Palette.Builder

generate(Bitmap bitmap,int numColors) 、generate(Bitmap bitmap) 、

该方法已被遗弃,建议用 Palette.Builder 来生成Palette

返回值:static Palette

getColorForTarget(Target target,int defaultColor)

返回一个从目标获取的的 rgb 色值

返回值:int

getDarkMutedColor(int defaultColor)

返回一个柔和的暗色调 rgb 值

返回值:int

getDarkMutedSwatch()

返回一个柔和的暗色调样本类

返回值:Palette.Swatch

getDarkVibrantColor(int defaultColor)

返回一个鲜明的暗色调 rgb 值

返回值:int

getDomainSwatch()

返回一个主色调的样本类

返回值:Palette.Swatch

getLightMutedColor(int defaultColor)

返回一个柔和的亮色调颜色 rgb

返回值:Palette.Swatch

getLightVibrantSwatch()

返回一个鲜明的亮色调样本类

返回值:Palette.Swatch

三、使用样本(swatch)

创建完一个实例之后,我们还需要得到一种采集的样本(swatch),有6中样本(swatch):

Palette.getVibrantSwatch()

Palette.getDarkVibrantSwatch()

Palette.getLightVibran

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值