Android 中离线用户的灰色头像处理方法
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));?