我正在尝试用VectorDrawables替换我所有的Android可提取的png资产。
在我使用Android Studio标准资产的地方,显然一切都很好。
一些外部导入的SVG资产失败,因为Android不支持行业标准的SVG规范。
是否存在Android矢量可绘制规范?哪个列表列出了Android (Android Studio)将接受的所有可接受的SVG命令?
发布于 2020-06-21 20:38:33
据我所知,除了文档中的VectorDrawable类定义之外,还没有正式的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。
然而,还有其他第三方转换器声称可以做得更好。尽管它们可能支持的内容受到VectorDrawable本身支持的限制。
https://stackoverflow.com/questions/62468181
复制相似问题