You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Xamarin构建Android应用遇XML解析错误,求排查解决

解决Xamarin Android XML解析错误:not well-formed和unbound prefix

瞅了眼你的XML代码,问题都是XML结构的基础疏漏导致的,咱们一步步理清楚:

错误原因拆解

  • 「not well-formed (invalid token)」错误:你把GridLayout的命名空间属性(那些xmlns:开头的行)直接写在了起始标签外面,而且<GridLayout>标签本身没加闭合的>,这直接把XML的结构搞崩了,解析器根本读不懂。
  • 「unbound prefix」错误:因为命名空间没正确定义在GridLayout标签里,解析器识别不了android:这个前缀,自然会报未绑定前缀的错。
  • 还有个小细节:按钮的尺寸属性应该用android:layout_height和android:layout_width,而非直接android:height/android:width——后者不是布局中设置控件尺寸的正确属性。

修正后的完整代码

<?xml version="1.0" encoding="utf-8"?>
<GridLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:minWidth="25px"
    android:minHeight="25px"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:id="@+id/gridLayout1"
    android:paddingLeft="40dp"
    android:alignmentMode="alignMargins"
    android:columnCount="3"
    android:rowCount="20">

    <Button android:text="Button" android:id="@+id/button1" 
        android:layout_height="100dp" android:layout_width="100dp" />
    <Button android:text="Button" android:id="@+id/button2" 
        android:layout_height="100dp" android:layout_width="100dp" />
    <Button android:text="Button" android:id="@+id/button3" 
        android:layout_height="100dp" android:layout_width="100dp" />
    <Button android:text="Button" android:id="@+id/button4" 
        android:layout_height="100dp" android:layout_width="100dp" />
    <Button android:text="Button" android:id="@+id/button5" 
        android:layout_height="100dp" android:layout_width="100dp" />
    <Button android:text="Button" android:id="@+id/button6" 
        android:layout_height="100dp" android:layout_width="100dp" />
    <Button android:text="Button" android:id="@+id/button7" 
        android:layout_height="100dp" android:layout_width="100dp" />
    <Button android:text="Button" android:id="@+id/button8" 
        android:layout_height="100dp" android:layout_width="100dp" />
    <Button android:text="Button" android:id="@+id/button9" 
        android:layout_height="100dp" android:layout_width="100dp" />
    <Button android:text="Button" android:id="@+id/button10" 
        android:layout_height="100dp" android:layout_width="100dp" />
</GridLayout>

额外优化说明

我还把android:paddingLeft="40"改成了40dp,按钮尺寸也加了dp后缀——在Android布局里用dp作为尺寸单位,能更好适配不同分辨率的设备,这是规范的写法。

把代码替换进去,应该就能正常解析运行了!

内容的提问来源于stack exchange,提问作者Stratos Eftychiadis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:42:48