如何从Illustrator(或类似的工具)创buildAndroid VectorDrawables?

如果我在像Illustrator这样的程序中使用vector图像,那么我怎样才能使用Android的VectorDrawable框架使用正确的格式呢?

我find了一个工具来将SVG转换为VectorDrawable xml格式: http ://inloop.github.io/svg2android/,但它只需要使用“path”的SVG。

任何想法如何输出这样的文件?

该工具目前只支持<path>元素。 所以例如它不支持<rect><circle>

如果您在绘图中使用这样的图元,则需要将其转换。 我忘了你需要使用的确切选项,但它可能类似于“转换为path”。

这个链接可能有帮助。

https://graphicdesign.stackexchange.com/questions/15475/convert-primitive-to-path-using-svg-format-in-illustrator

如果您使用Android Studio,最好的方法是:

  • 右键单击您的“绘图”文件夹>新build>vector资产
  • 点击“本地SVG文件”导入你自己的SVG文件,或者“材质图标”来使用提供的图标。
  • 将资源名称更改为任何您需要的名称。
  • 单击下一步并select您的目标模块和res目录。
  • 点击完成。

该向导从您的SVG文件生成XML。

只需使用SVG到VectorDrawable转换器或其在线版本 。 这是将SVG图像批量转换为Android VectorDrawable XML资源文件的转换器。

链接指向自述文件,它提供了有关如何使用转换器的足够信息。

把一切都转换成path

在将AI项目文件保存为SVG ,请确保:

  1. 使用Object > Expand...将所有path转换为轮廓。

  2. 在选中对象的情况下右键单击,将任何形状path(如<circle> )转换为Compound Paths ,然后selectMake Compound Path

一旦完成,SVG中的每个形状都应该是<path>


优化SVG

当我尝试使用问题中提到的应用程序将中等复杂度的SVG转换为可绘制的vector时,我忘记了一些部分。 我认为它必须与格式化的方式有关,所以我决定使用SVGOMG ,一个SVG优化应用程序, 去除它的基本要素。

使用SVGOMG或其他应用程序来优化SVG,然后下载文件。


将优化的SVG转换为vector绘图

把下载的SVG放到SVG2Android中 ,它会给你以后的东西。

如果你在macOS上,试试Svgsus。 http://www.svgs.us/

适用于转换不同规格的svgs,包括向量可绘制。