Android 指定纯色图标的颜色

    最近项目用到了系统图标,但是设计师设计的颜色却与系统图标不一样;
如果每张图片都要用Photoshop进行颜色填充势必增加了工作量,而且不灵活,占资源;
例如同一张图片,希望点击的时候改变颜色,按照之前的做法就只能做两张图,而且如果又咽更换图片的颜色,就更麻烦了...
     这个时候我就想到了对于这个纯色的图标,能不能直接去填充它的颜色呢?
     后来经过搜索我发现这样是可以的,在xml文件中可以用tint属性来指定图标的颜色;
在代码中则需要用ImageView的对象img.setColorFilter()方法来指定图标颜色,这样就完美的解决了我们的问题,想要什么颜色只要使用不同的颜色的值就行了...

     xml文件指定:
        < ImageButton
             android:id  = "@+id/action_menu"
             android:layout_width  = "wrap_content"
             android:layout_height  = "match_parent"
             android:layout_alignParentLeft  = "true"
             android:layout_centerVertical  = "true"
             android:layout_marginRight  = "10dp"
             android:tint  = "#737373"
             android:background  = "@android:color/transparent"
             android:clickable  = "false"
             android:focusable  = "false"
             android:src  = "@drawable/menu"
             android:textIsSelectable  = "false"  />
     代码指定:
           holder   .  menu_function_icon .setColorFilter(getResources().getColor(R.color.                icon_dark_blue   ));
     
原文地址:https://www.cnblogs.com/riskyer/p/3246750.html