【问题标题】:"Exception while parsing XML file: Premature end of file." trying to import svg to Android Studio“解析 XML 文件时出现异常:文件过早结束。”尝试将 svg 导入 Android Studio
【发布时间】:2017-04-20 08:24:58
【问题描述】:

我正在尝试将 svg 文件导入 Android Studio,但出现以下错误:

无法生成预览

解析prove.svg的异常:

对于输入字符串:“60px”解析 XML 文件时出现异常:

文件过早结束。

这是我目前拥有的svg

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="150" height="150">
  <circle r="60px" fill="red" cx="90" cy="65"></circle>
</svg>

如您所见,我在网上使用它没有任何问题,因为它渲染得很好。

那么,我错过了什么?我应该将其调整为某种格式以在 Android Studio 上使用它吗?

注意:我已经搜索过,似乎它必须适应旧版本的 Android Studio,因为它不接受 &lt;circle&gt; 标签,但我也看到现在它应该接受他们。现在我使用Android Studio 2.2

提前致谢!

【问题讨论】:

    标签: android svg android-studio-2.2


    【解决方案1】:

    嗯,你可以试试这个 SVG 方法here

    <svg height="100" width="100">
       <circle cx="50" cy="50" r="40" fill="red" />
    </svg>
    

    或者,更好可扩展向量方法:

    <shape xmlns:android="http://schemas.android.com/apk/res/android"
      android:shape="oval">
      <solid
        android:color="#ff0000"/>
    </shape>
    

    HInt:由于推荐使用矢量方式,所以网上有工具可以将SVG转为矢量图,用于复杂的曲线和路径。

    【讨论】:

    • 好的,似乎删除像素单位效果很好,并且不会引发任何错误。谢谢你:)
    【解决方案2】:

    它不会直接回答您的问题,但如果您想在 Android 中使用基于矢量的圆圈,我强烈推荐以下答案中的可绘制方法。

    https://stackoverflow.com/a/34724737/2680506

    【讨论】:

    • 我试图将我的代码简化为最基本的元素。我有一个不止一个圆圈的 svg 文件。使用上面的示例,它也给了我错误(我的意思是我提出问题的示例)。另外,我需要它在 svg 上而不是形状上。
    猜你喜欢
    • 2012-06-25
    • 1970-01-01
    • 2012-04-28
    • 1970-01-01
    • 2013-04-08
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多