Android 动态改变SVG的颜色

5,253 阅读1分钟

Android 动态改变SVG的颜色

当svg 文件引用项目中生辰xxx.xml 文件

这个时候我们用imageView作为载体。在代码中修改其颜色为红色 默认为白色。

Drawable drawable = imageView.getDrawable();
drawable.setTint(getResources().getColor(R.color.red));

当在其他场景中用到此资源的时候。发现该资源的颜色也是也是红色。

为什么

这个资源被加载到内存中。当资源被修改的时 其实是修改内存的资源。这个时候该资源内存没有被覆盖或者回收。当再次使用的时候,保留了我们上一次修改的状态。