Android 矢量资产给定错误“;currentColor";当我创造
我从font awesome下载了一个svg图标,用于android中的一个应用程序,当我创建一个向量资产时,我导入了我的svg,但是当我试图编译它时,会出现以下错误 错误:“currentColor”与属性fillColor(attr)不兼容 颜色 我试图直接更改fillcolor,但当我编译应用程序时,这会重新生成xml并再次使用“当前颜色”一词 这是vector资产生成的xmlAndroid 矢量资产给定错误“;currentColor";当我创造,android,xml,svg,font-awesome,Android,Xml,Svg,Font Awesome,我从font awesome下载了一个svg图标,用于android中的一个应用程序,当我创建一个向量资产时,我导入了我的svg,但是当我试图编译它时,会出现以下错误 错误:“currentColor”与属性fillColor(attr)不兼容 颜色 我试图直接更改fillcolor,但当我编译应用程序时,这会重新生成xml并再次使用“当前颜色”一词 这是vector资产生成的xml <vector android:autoMirrored="true" android:height="5
<vector android:autoMirrored="true" android:height="512dp"
android:viewportHeight="512" android:viewportWidth="448"
android:width="448dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="currentColor" android:pathData="..."/>
</vector>
如何修复它?我解决了这个问题,只需使用外部编辑器修改svg原始版本并再次导入即可android:fillColor必须是颜色(当前为字符串) 更改android:fillColor=“currentColor” 要对十六进制进行着色,请执行以下操作:
android:fillColor="#00FFFF"
或将colors.xml引用为:
android:fillColor="@colors/colorPrimary"
或其他方式(如果设置如下,颜色将根据主题而变化):
从font awesome下载的.svg文件的颜色设置为“currentColor”。创建矢量资源时,android会从原始文件导入颜色。每次android构建项目时,它都会接合以确保两个文件匹配,并替换两个文件之间的任何不一致 因此,要更改.xml资源文件中的颜色,需要更改原始文件中的颜色。这可以通过使用另一个应用程序编辑来完成。或者更简单地说,您可以在文本编辑器中打开.svg文件并进行更改
下面是从font awesome下载的.svg文件示例。要在android中将其用作矢量资源,只需将
fill=“currentColor”
更改为任何有效的十六进制颜色字符串,例如fill=“#000000”
编辑:我做了一些额外的测试,在我更改了原始的.svg文件之后,android在构建时没有更新.xml资源文件。此外,此文件中颜色的值并不重要,因为您可以在布局文件中或动态更改它
android:fillColor="?colorPrimary"
<svg aria-hidden="true"
focusable="false"
data-prefix="fab"
data-icon="font-awesome-flag"
class="svg-inline--fa fa-font-awesome-flag fa-w-14"
role="img" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 448 512">
<path fill="currentColor"
d="M444.373 359.424c0 7.168-6.144 10.24-13.312 13.312-28.672 12.288-59.392 23.552-92.16 23.552-46.08 0-67.584-28.672-122.88-28.672-39.936 0-81.92 14.336-115.712 29.696-2.048 1.024-4.096 1.024-6.144 2.048v77.824c0 21.405-16.122 34.816-33.792 34.816-19.456 0-34.816-15.36-34.816-34.816V102.4C12.245 92.16 3.029 75.776 3.029 57.344 3.029 25.6 28.629 0 60.373 0s57.344 25.6 57.344 57.344c0 18.432-8.192 34.816-22.528 45.056v31.744c4.124-1.374 58.768-28.672 114.688-28.672 65.27 0 97.676 27.648 126.976 27.648 38.912 0 81.92-27.648 92.16-27.648 8.192 0 15.36 6.144 15.36 13.312v240.64z">
</path>
</svg>