如何从Illustrator(或类似工具)创建Android VectorDrawable?

如何从Illustrator(或类似工具)创建Android VectorDrawable?,android,svg,android-vectordrawable,Android,Svg,Android Vectordrawable,如果我在Illustrator这样的程序中有一个矢量图像,我怎么能得到Android的矢量绘图框架可以使用的正确格式呢 我找到了一个将SVG转换为矢量可绘制xml格式的工具: 但它要求SVG只使用“路径” 你知道如何输出这样的文件吗?该工具目前只支持元素。例如,它不支持,等 如果在图形中使用类似的基本体,则需要对其进行转换。我忘记了您需要使用的确切选项,但它可能类似于“转换为路径” 这个链接可能会有所帮助 将所有内容转换为路径 在将AI项目文件保存为SVG之前,请确保: 使用对象>展开…将所有路

如果我在Illustrator这样的程序中有一个矢量图像,我怎么能得到Android的矢量绘图框架可以使用的正确格式呢

我找到了一个将SVG转换为矢量可绘制xml格式的工具: 但它要求SVG只使用“路径”


你知道如何输出这样的文件吗?

该工具目前只支持
元素。例如,它不支持

如果在图形中使用类似的基本体,则需要对其进行转换。我忘记了您需要使用的确切选项,但它可能类似于“转换为路径”

这个链接可能会有所帮助

将所有内容转换为路径 在将AI项目文件保存为
SVG
之前,请确保:

  • 使用
    对象>展开…
    将所有路径转换为轮廓

  • 通过在选定对象时单击鼠标右键,然后选择“生成复合路径”,将任何形状路径(如
    )转换为
    复合路径

  • 完成后,SVG中的每个形状都应该是


    优化SVG 当我试图使用问题中提到的应用程序将中等复杂度的SVG转换为可绘制的矢量时,我遇到了一些问题,忘记了一些部分。我认为这一定与它的格式化方式有关,所以我决定使用SVG优化应用程序,将其精简到最基本的部分

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


    将优化后的SVG转换为可绘制的矢量 将下载的SVG放入其中,它将为您提供您想要的内容。

    只需使用或使用它即可。这是一个SVG图像到Android VectorDrawable XML资源文件的批处理转换器


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

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

    • 右键单击“可绘制”文件夹>新建>矢量资源
    • 单击“本地SVG文件”导入您自己的SVG文件,或单击“材质图标”使用提供的图标
    • 将资源名称更改为您需要的名称
    • 单击下一步并选择目标模块和res目录
    • 单击Finish

    该向导从SVG文件生成XML

    使用处理真实SVG文件的库,如android SVG、SVG android或您喜欢的任何库。对不起,我和另一位开发人员都无法让该工具正常工作并提供良好的输出。我使用工具“svg2android”取得了巨大的成功——重要的是——我们遇到了一个问题,即SVG中已经是“路径”元素的东西在Android中看起来不正确,我们通过按照该链接所说的(和@dom所说的)解决了这个问题,即使是AI已经导出到SVG路径元素的项目。因此,作为一个笼统的说法,在导出到SVG之前对所有对象执行此操作,然后使用svg2android。Vector Asset studio在2015年9月的1.4.0版本中添加到Android studio。所有其他答案都是在此更新之前给出的。是否可以从terminal、makefile、gradle等调用此选项。?我只想存储svg(因为我在ios项目中也需要它),并在构建时生成可绘制的矢量。您可能希望为维度选择“覆盖”复选框。