【问题标题】:How to replace <switch> and <foreignObject> in an SVG file?如何替换 SVG 文件中的 <switch> 和 <foreignObject>?
【发布时间】:2017-12-15 02:42:24
【问题描述】:

我正在开发一个 Android 应用程序并希望实现矢量绘图。在我导入 .svg 文件时在 Android Studio 中使用 Android Vector Asset Studio 时,它向我显示以下错误:

我访问了官方site,他们说还不支持此类标签,因为资产工作室只能处理非常简单的图像。我在想是否有任何方法可以将这些标签替换为 supported 的等效标签。我不知道该怎么做。请帮忙,提前谢谢! :)

【问题讨论】:

  • 实际上没有任何等效的标签,如果没有重复存在的必要性,会有吗?
  • 有什么方法可以通过 Illustrator 修复图像,使 .svg 文件没有上述标签但仍然具有相同的效果?
  • 在文本编辑器中打开 SVG 文件并删除不支持的标签。
  • 我已经尝试过了,但是 .svg 无法渲染。@Rotwang

标签: android android-studio svg vector-graphics


【解决方案1】:

如果您想使用矢量图像,您可以简单地将您的 SVG 图像从here 转换为矢量图像 然后你可以简单地使用这个向量作为一个可绘制的图像。

【讨论】:

  • “警告!currentLocAI.svg:遇到不支持的元素:开关,i:pgf。”没有帮助:(
  • 在使用 Vector Asset Studio 之前,您必须在 build.gradle 文件中添加一条语句,即:android { defaultConfig { vectorDrawables.useSupportLibrary = true } } dependencies { compile 'com.android.support:appcompat- v7:23.2.0' } 如果您仍然遇到任何困难,请告诉我。
【解决方案2】:

在我的例子中,通过删除&lt;foreignObject&gt; 标签并将&lt;switch&gt; 标签替换为&lt;g&gt; 标签,我能够让vector Asset Studio 成功导入我的SVG 图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 2014-09-19
    相关资源
    最近更新 更多