时隔3年,庆幸自己还在安卓开发这一行,也算是累计了些知识,现在在工作之余,也有些时间来记录些自己平时使用的一些技术,希望这次回来,可以捡起这份博客,写一些自己喜欢的内容。
最近在工作中,碰到了一个需要动态修改图片颜色的需求,网上也是查了不少资料,没有找到自己想要的,后来是在爬别人项目的代码中,才找到了动态修改android svg图片颜色的方式,现在容我一一道来
首先,想要在android项目中使用svg,需要将美工妹纸(我们这里为啥是个汉子o(╥﹏╥)o)提供的svg图片使用工具
链接: https://pan.baidu.com/s/1HvDHYVPfLIw1zho0NbKT3A 提取码: fvuq
转换成xml后才能使用(下载后,打开index.html即可)
接下来就是使用svg及修改颜色的重头戏,先贴代码
@BindingAdapter(value = {"model", "svgColor"})
public static void loadVectorDrawable(ImageView imageView, String model, int svgColor){
Drawable drawable = null;
switch (model){
case Constant.MODEL_ANDROID:
//mutate,使当前drawable可变
drawable = ContextCompat.getDrawable(imageView.getContext(), R.drawable.svg_and