Android 5.0学习之使用Palette

前言

动态色彩

根据图片来决定标题的颜色和标题栏的背景色,这样视觉上更具有冲击力和新鲜感,而不像统一色调那样呆板。


大家想知道这个效果如何实现的吗?

学习Palette轻轻松松搞定此效果哦~!

Palette是什么?

它能让你从图像中提取突出的颜色。这个类能提取以下突出的颜色:

Vibrant(充满活力的)

Vibrant dark(充满活力的黑)

Vibrant light(充满活力的亮)

Muted(柔和的)

Muted dark(柔和的黑)

Muted lighr(柔和的亮)

如何使用?

要提取这些颜色,在你加载图片的后台线程中传递一个位图对象给Palette.generate()静态方法。如果你不适用线程,则调用Palette.generateAsync()方法并且提供一个监听器去替代。

你可以在Palette类中使用getter方法来从检索突出的颜色,比如Palette.getVibrantColor。


如果是Android Studio 要在你的项目中使用Palette类,增加下面的Gradle依赖到你的程序的模块(module)中:

[java]  view plain copy
  1. dependencies {  
  2.     ...  
  3.     compile 'com.android.support:palette-v7:21.0.+'  
  4. }  


如果是Eclipse首先我们找到sdk/extras/android/support/v7/palette/libs/android-support-v7-palette.jar导入我们的工程。

然后使用generateAsync方法传入当前图片的bitmap,在传入一个监听,在监听里面我们拿到图片上颜色充满活力的颜色,最后设置标题背景和字体的颜色,代码如下:

[java]  view plain copy
  1. Palette.generateAsync(bitmap,  
  2.         new Palette.PaletteAsyncListener() {  
  3.     @Override  
  4.     public void onGenerated(Palette palette) {  
  5.          Palette.Swatch vibrant =  
  6.                  palette.getVibrantSwatch();  
  7.           if (swatch != null) {  
  8.               // If we have a vibrant color  
  9.               // update the title TextView  
  10.               titleView.setBackgroundColor(  
  11.                   vibrant.getRgb());  
  12.               titleView.setTextColor(  
  13.                   vibrant.getTitleTextColor());  
  14.           }  
  15.     }  

  1. });  





转自:http://blog.csdn.net/ljx19900116/article/details/41806863

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值