Android 离线用户的灰色头像处置

Android 离线用户的灰色头像处理Android 离线用户的灰色头像处理编写:徐建祥(netpirate@gmail.com)日期:20

Android 离线用户的灰色头像处理
Android 离线用户的灰色头像处理
编写:徐建祥(netpirate@gmail.com)

日期:2010/11/22

网址:http://www.anymobile.org

主要涉及两个技术点:

1、图标加灰色过滤;

2、android的图片资源默认是静态的,单实例;如果两个IM好友的头像一样,最简单的都是用的软件自带头像,有一个在线,一个离线,直接改变头像的灰度,则两个用户的头像都会变灰或者在线,答案是:Drawable.mutate()。

代码如下:

view plaincopy to clipboardprint?
Drawable mDrawable = context.getResources().getDrawable(R.drawable.face_icon); 
//Make this drawable mutable. 
//A mutable drawable is guaranteed to not share its state with any other drawable. 
mDrawable.mutate(); 
ColorMatrix cm = new ColorMatrix(); 
cm.setSaturation(0); 
ColorMatrixColorFilter cf = new ColorMatrixColorFilter(cm); 
mDrawable.setColorFilter(cf);