这个错误通常是由于在SVG文件中使用了Android中的颜色资源,但是SVG文件本身无法解析这些资源。为了解决这个问题,你可以尝试以下两种方法:

  1. 直接替换颜色资源

将SVG文件中的颜色资源直接替换为具体的颜色值。例如,将'@color/account_iv_contact_top_color'替换为'#FF0000'。

  1. 使用vectorDrawables.useSupportLibrary属性

这个属性可以让SVG文件使用Android支持库中的矢量图形,从而可以解析颜色资源。你可以在SVG文件的根元素中添加这个属性,例如:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24"
    android:tint="@color/account_iv_contact_top_color"
    android:useSupportLibrary="true">
    ...
</vector>

这样就可以使用颜色资源了。注意,使用这个属性需要在build.gradle文件中添加以下代码:

android {
    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
}
解决SVG引用Android颜色资源报错:Invalid color value @color/account_iv_contact_top_color

原文地址: https://www.cveoy.top/t/topic/jkny 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录