Material Design:Palette

介绍

Palette可以提取图片的颜色,我们可以把这些颜色赋给文字,让文字跟随图片的颜色,而不是固定的白色。

android.support.v7.graphics.Palette 

名词解释:

Swatch: 样品
Vibrant:有活力的;
Dark:暗淡的;
Muted:温和的;
Light:明亮的;
Dominant:主要的

步骤

  1. 获取 Bitmap
  2. 由bitmap获取Palette(同步或异步)
  3. 获取switch+获取颜色值+设置给文字等

获取 Bitmap

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);

由bitmap获取Palette
同步:

Palette palette = Palette.from(bitmap).generate();

异步:

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

    }
});
Palette.Swatch swatch = palette.getVibrantSwatch();

int rgb = swatch.getRgb();
int titleTextColor = swatch.getTitleTextColor();

tv.setBackgroundColor(rgb);
tv.setTextColor(titleTextColor);

switch有多种

List<Palette.Swatch> swatches = palette.getSwatches();

Palette.Swatch dominantSwatch = palette.getDominantSwatch();
Palette.Swatch mutedSwatch = palette.getMutedSwatch();
Palette.Swatch vibrantSwatch = palette.getVibrantSwatch();
Palette.Swatch darkMutedSwatch = palette.getDarkMutedSwatch();
Palette.Swatch darkVibrantSwatch = palette.getDarkVibrantSwatch();
Palette.Swatch lightMutedSwatch = palette.getLightMutedSwatch();
Palette.Swatch lightVibrantSwatch = palette.getLightVibrantSwatch();

其它

使用Palette类提取图片的颜色信息
Demo: https://git.oschina.net/MaterialDisign/Palette01.git

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值