“解析 XML 文件时出现异常:文件过早结束。”尝试将 svg 导入 Android Studio

Posted

技术标签:

【中文标题】“解析 XML 文件时出现异常:文件过早结束。”尝试将 svg 导入 Android Studio【英文标题】:"Exception while parsing XML file: Premature end of file." trying to import svg to 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"  >
  <circle r="60px" fill="red" cx="90" cy="65"></circle>
</svg>

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

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

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

提前致谢!

【问题讨论】:

【参考方案1】:

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

<svg  >
   <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://***.com/a/34724737/2680506

【讨论】:

我试图将我的代码简化为最基本的元素。我有一个不止一个圆圈的 svg 文件。使用上面的示例,它也给了我错误(我的意思是我提出问题的示例)。另外,我需要它在 svg 上而不是形状上。

以上是关于“解析 XML 文件时出现异常:文件过早结束。”尝试将 svg 导入 Android Studio的主要内容,如果未能解决你的问题,请参考以下文章

Neovim,要尝一口不?

吾尝终日而思矣——2018.12.26

吾尝终日而思矣——2019.02.27

java web 初尝遇到的坑

吾尝终日而思矣——2019.02.19

JDK9-初尝模块化