gpt4 book ai didi

Android Studio 不会导入 SVG Vector 的所有部分

转载 作者:行者123 更新时间:2023-12-05 06:21:47 51 4
gpt4 key购买 nike

我想从 illustrator 导入一些矢量图形来设计我的 android studio 应用程序。如果我将矢量图形导出为 SVG,效果会很好。我项目的所有部分都已成功导出,结果令人满意(图 1)。但是,当我在 Android Studio 中将此 SVG 文件创建为新的 Vector Asset 时,我的其中一个蓝色圆圈突然消失了(见图 2)。 Android Studio 没有导入我的 SVG 的所有部分的原因是什么?或者可能是插图画家导出错误?

编辑:添加了图片 3 以显示如果我改用在线转换器会发生什么。输出更差。

感谢任何帮助!

图1:

Picture 1 Exported SVG opend in Microsoft Edge, works as it should

图2:

Picture 2 Previes in Android Studio (one circle is missing)

图 3...使用在线转换器获取 xml 向量时的结果(同样错误)*

Result when I use a online converter to get a xml vector

最佳答案

转换器窗口中显示的 SVG 版本由 Android Studio 中的内置 SVG 渲染器渲染。 它是 SVG 的预览。它不一定反射(reflect)转换器的输出结果。

所以您看到的错误与内置 SVG 渲染器有关。

VectorDrawables 并不真正支持渐变填充。至少转换器不支持它们。因此,即使显示的 SVG 非常完美,生成的 VectorDrawable 也不会包含渐变圆圈。

所以你有一些替代方法:

  1. 将您的圆圈更改为实心填充,然后转换为 VectorDrawables。
  2. 与 #1 类似,但使用预定义的渐变定义添加渐变。
  3. 在您的应用中使用实际的 SVG 渲染库(例如 AndroidSVG)。
  4. 切换到使用位图背景(即 PNG)
  5. 使用 Canvas 方法自己绘制背景。

就个人而言,我会选择#3。

关于Android Studio 不会导入 SVG Vector 的所有部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59610243/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com