VectorDrawable在手机中的呈现方式与在Android Studio中的呈现方式不同

时间:2016-11-07 01:57:06

标签: android svg android-vectordrawable

我有一些程式化的文本,我已转换为SVG路径,以便在VectorDrawable中使用。我直接从.svg文件中提取路径数据作为一串文本,以用作VectorDrawable中的路径数据。它们在Android Studio设计窗口中看起来非常好,但是当我在手机上运行时,它看起来很乱。我的手机是HTC One M8,正在运行Marshmallow。我附上两张不同的屏幕截图。

在Android Studio中呈现的

pathData

pathData rendered in Android Studio

VS。 pathData在手机上呈现:

enter image description here

以下是XML文件中的path资源

<path
    android:name="anger_word"
    android:fillColor="#FFFFFF"
    android:pathData="@string/anger_word" />

以下是实际的pathData,即@string/anger_word http://pastebin.com/7MDLiwQh

这里发生了什么?

谢谢。

1 个答案:

答案 0 :(得分:1)

现在可能已经修复了,但是一些初始版本的VectorDrawable渲染代码有一些错误解析路径数据。 IIRC尤其是相对路径命令。相对路径命令是具有小写字母的命令。相对路径命令似乎是路径中的大多数命令。

我的建议是尝试将路径转换为仅使用绝对路径命令(大写字母)。这可能不是问题,但需要尝试。

我不知道您用来创建路径的编辑器,但看看是否可以使用绝对路径命令将其输出到路径。

如果不能,则可以搜索工具来执行此操作。我相信Inkscape会做到这一点。请参阅以下问题中的讨论。请注意,它主要是讨论与您需要的相反的转换。

Is there a tool to convert SVG line paths from absolute to relative?

此问题也可能有所帮助。

Convert SVG Path to Absolute Commands