美文网首页
Android5.0之Palette调色板

Android5.0之Palette调色板

作者: Ggx的代码之旅 | 来源:发表于2016-08-15 16:57 被阅读120次

android5.0有一种新的功能,就是动态取色。在运行时更具不同的图片动态决定一些背景或者文字的颜色。这是一种很酷的设计,他会使视觉上更具有冲击力和新鲜感,而不像统一色调那样呆板。我们这就来介绍他的用法:

  1. 使用前需要引入
    compile 'com.android.support:palette-v7:23.4.0'
  2. Palette是什么?
    它能让你从图像中提取突出的颜色。这个类能提取以下突出的颜色:
    Vibrant(充满活力的)
    Vibrant dark(充满活力的黑)
    Vibrant light(充满活力的亮)
    Muted(柔和的)
    Muted dark(柔和的黑)
    Muted lighr(柔和的亮)
  3. 如何使用?
    既然是从图片中提取颜色,那么首先我们得告诉它提取的图片
    Palette palette=Palette.from(传入Bitmap);
    通过上面的函数我们就可获取传入图片的Palette对象,然后我们在调用它的generate()方法即可获取取色过后的Palette。
    该方法还有一个重载的方法,public AsyncTask<Bitmap, Void, Palette> generate(final PaletteAsyncListener listener),这是异步的方法在UI线程中可以使用这种。
  4. Palette 的属性
    Palette.Swatch是一个提取颜色的样本,通过该类可以提取到包含了我们需要的颜色内容
    返回一个有活力的颜色. Palette.getVibrantSwatch()
    返回一个有活力的暗色. Palette.getDarkVibrantSwatch()
    返回一个有活力的亮色. Palette.getLightVibrantSwatch()
    返回一个柔和的颜色. Palette.getMutedSwatch()
    返回一个柔和的暗色. Palette.getDarkMutedSwatch()
    返回一个柔和的亮色. Palette.getLightMutedSwatch()
    有活力的颜色和有活力的暗色是开发者使用最多的,具体使用哪一种取决于你自己
  5. Swatch 属性
    getPopulation(): 返回被该样本代表的像素的总数
    getRgb(): 返回一个 RGB 颜色值
    getHsl(): 返回一个 HSL颜色值.
    getBodyTextColor(): 返回一个适合做内容体颜色的颜色值
    getTitleTextColor(): 返回一个适合做标题颜色的颜色值

标题的文本颜色会趋向于高透明度和低对比度,字体也会应该大一点,body的文本颜色会趋向于高不透明度和高对比度。

Palette.from(传入的Bitmap).generate(new Palette.PaletteAsyncListener() {
    @Override
    public void onGenerated(Palette palette) {
        //获取充满活力的颜色
        Palette.Swatch swatch=palette.getVibrantSwatch();
        //获取颜色,可以用来设置背景色
        swatch.getRgb();
        //获取的颜色可以用来设置给文字
        swatch.getTitleTextColor();
    }
});

相关文章

  • Android5.0之Palette调色板

    android5.0有一种新的功能,就是动态取色。在运行时更具不同的图片动态决定一些背景或者文字的颜色。这是一种很...

  • 主题颜色提取 ——— Palette

    Palette 调色板 Palette 是 Android L SDK 中的新特性。可以使用 Palette 从图...

  • Android5.0之 Palette 取色

    android5.0有一种新的功能,就是动态取色。在运行时更具不同的图片动态决定一些背景或者文字的颜色。这是一种很...

  • Material design - Style

    Color - 颜色 Color palette - 调色板 Material takes cues from c...

  • Android Palette实现原理

    Palette介绍和用法 Palette是调色板,可以用来获取一张Bitmap的主色调,使用方式如下: 其中max...

  • Palette(调色板)

    利用Palette库来取得图片中的主要色彩 使用这个Android的开源库android-support-v7-p...

  • Palette

    Palette 单词本意是调色板的意思,所以在Android中Palette肯定会与颜色有关,它在作用是根据当前图...

  • python-seaborn

    导入相关库 主题颜色 color_palette 调色板 折线图 盒图

  • Palette

    今天听了一首歌叫《Palette》,单曲循环到现在。 Palette是调色板之意,歌词像写给IU25岁的她自...

  • MaterialDesign学习篇(六),调色板Palette的

    什么是Palette Palette的意思是调色板,它的作用是从图像中提取出突出的颜色,这样我们可以将提取出来的颜...

网友评论

      本文标题:Android5.0之Palette调色板

      本文链接:https://www.haomeiwen.com/subject/psvusttx.html