浏览 2088 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-12-20
最后修改:2010-12-21
android的图片资源默认是静态的,也就是说是单实例的;如果两个好友的头像一样,当有一个在线,有一个离线时,如果直接改变头像的灰度,那么两个头像会同时变灰或者在线,解决办法是在灰度处理之前调用Drawable的mutate()方法。 下面的代码为灰度处理的代码: //像素过滤矩阵 public final static float[] BT_SELECTED = new float[] { 0.308f, 0.609f, 0.082f, 0, 0, 0.308f, 0.609f, 0.082f, 0, 0, 0.308f, 0.609f, 0.082f, 0, 0, 0, 0, 0, 1, 0 }; Drawable myImage = res.getDrawable(R.drawable.h114); myImage.mutate(); myImage.clearColorFilter(); myImage.setColorFilter(new ColorMatrixColorFilter(BT_SELECTED));
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |