如果我在 Illustrator 之类的程序中有一个矢量图像,我怎样才能得到正确的格式供 Android 的 VectorDrawable 框架使用?
我找到了一个将 SVG 转换为 VectorDrawable xml 格式的工具:http://inloop.github.io/svg2android/但 它要求 SVG 只使用“路径”。
任何想法如何输出这样的文件?
如果我在 Illustrator 之类的程序中有一个矢量图像,我怎样才能得到正确的格式供 Android 的 VectorDrawable 框架使用?
我找到了一个将 SVG 转换为 VectorDrawable xml 格式的工具:http://inloop.github.io/svg2android/但 它要求 SVG 只使用“路径”。
任何想法如何输出这样的文件?
如果您使用的是 Android Studio,最好的方法是:
该向导从您的 SVG 文件生成 XML。
该工具目前似乎只支持<path>
元素。因此,例如它不支持<rect>
等<circle>
。
如果您在绘图中使用这样的图元,则需要转换它们。我忘记了您需要使用的确切选项,但它可能类似于“转换为路径”。
此链接可能会有所帮助。
只需使用SVG 到 VectorDrawable 转换器或其在线版本。这是 SVG 图像到 Android VectorDrawable XML 资源文件的批量转换器。
链接指向自述文件,其中提供了有关如何使用转换器的足够信息。
在将您的 AI 项目文件保存为SVG
.
使用 . 将所有路径转换为轮廓Object > Expand...
。
选择对象时,通过右键单击将任何形状路径(例如<circle>
)转换为 ,然后选择。Compound Paths
Make Compound Path
完成后,SVG 中的每个形状都应该是<path>
.
当我尝试使用问题中提到的应用程序将中等复杂度的 SVG 转换为可绘制的矢量时,我遇到了忘记某些部分的问题。我认为它一定与它的格式化方式有关,所以我决定使用SVGOMG,一个 SVG 优化应用程序,将其简化为基本要素。
使用 SVGOMG 或其他应用程序优化 SVG,然后下载文件。
把下载的 SVG 放到SVG2Android 中,它会给你你想要的。