我正在尝试用VectorDrawables替换所有的Android
可绘制的PNG资产。
当我使用Android Studio
标准资产时,一切都很正常。
但一些外部导入的SVG资产会失败,因为Android不支持行业标准的SVG规范。
是否存在Android矢量图形规范? 其中列出了Android(Android Studio)将接受的所有可接受的SVG命令?
我正在尝试用VectorDrawables替换所有的Android
可绘制的PNG资产。
当我使用Android Studio
标准资产时,一切都很正常。
但一些外部导入的SVG资产会失败,因为Android不支持行业标准的SVG规范。
是否存在Android矢量图形规范? 其中列出了Android(Android Studio)将接受的所有可接受的SVG命令?
VectorDrawable
类定义之外,目前没有正式的矢量图形格式书面规范。
https://developer.android.com/reference/android/graphics/drawable/VectorDrawable
此页面还包含相当多的额外信息:
https://developer.android.com/studio/write/vector-asset-studio
这两个工具都没有列出导入器支持的SVG元素列表。但是,您可以查看Android源代码中导入器的代码,以获得有关支持的内容的明确答案。源代码在这里:SVG2Vector.java 从代码中可以看出,支持的SVG元素仅限于:<polygon>
, <rect>
, <circle>
, <line>
, <path>
, <g>
stroke
和fill
相关的属性,加上transform
和display:none
。