Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1571419
  • 博文数量: 113
  • 博客积分: 3526
  • 博客等级: 中校
  • 技术积分: 1815
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-08 09:46
个人简介

记录总结自己的工作

文章分类

全部博文(113)

文章存档

2015年(19)

2014年(10)

2013年(6)

2012年(16)

2011年(24)

2010年(21)

2009年(17)

分类: Android平台

2014-04-15 11:20:39

       在开发中,我们可能会对一张图片加上渐变效果,这可以通过在ImageView中添加Filter来实现。

     首先定义一个color数组,在arrays.xml中添加如下代码:

点击(此处)折叠或打开

  1. <array name="filter_colors">
  2.     <item>#96eeeeee</item>
  3.     <item>#86eeeeee</item>
  4.     <item>#76eeeeee</item>
  5.     <item>#56eeeeee</item>
  6.     <item>#46eeeeee</item>
  7.     <item>#36eeeeee</item>
  8.     <item>#26eeeeee</item>
  9.     <item>#16eeeeee</item>
  10.     <item>#06eeeeee</item>
  11. </array>
       然后定义了一个Handler,在Handler中对ImageView 添加filter就可以了:

点击(此处)折叠或打开

  1. Handler mHandler = new Handler() {
  2.         public void handleMessage(Message msg) {
  3.             switch (msg.what) {
  4.             case 0:
  5.                 mHandler.sendEmptyMessageDelayed(0,
  6.                         1000);
  7.                     if(mProgress%10==1){
  8.                         int index=mProgress/10;
  9.                         int color = mFilterColors.getColor(index,0);
  10.                         PorterDuffColorFilter colorFilter = new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP);
  11.                         mImg.setColorFilter(colorFilter);
  12.                         mProgress++;
  13.                     }
  14.             }
  15.     }
  16. }






阅读(7584) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~