gpt4 book ai didi

c# - 解析 XAML : "Integer types not allowed" errors for many attributes such as width 时出错

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:44 25 4
gpt4 key购买 nike

所以,我是一名新的 Xamarin 开发人员,并且遇到了一些非常基本的问题。编译器在 android:inputType="textEmailAddress" 行给出错误。错误是 Error parsing XML: unbound prefix

我已经尝试将所有这些添加到根元素中(在我的例子中是线性布局)但它不起作用:

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
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"

完整代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<RelativeLayout
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/relativeLayout1">
<ImageView
android:src="@drawable/loginbgandbtnldpi"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/LoginBGImgView" />
<EditText
android:inputType="textEmailAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/LoginEmailEditText"
android:width="300"
android:layout_marginTop="295"
android:layout_marginLeft="30"
android:text="Email"
app:paddingStart="20"
android:paddingLeft="35"/>
<EditText
android:inputType="textPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/LoginPassEditText"
android:text="Password"
android:width="300"
android:paddingLeft="35"
android:layout_marginLeft="30"
android:layout_marginTop="348" />
<Button
android:id="@+id/LoginButton"
android:clickable="true"
android:layout_marginTop="432"
android:layout_marginLeft="100"
android:width="160"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:visibility="invisible" />
</RelativeLayout>

</LinearLayout>

编辑:Error Parsing XML: unbound prefix 通过删除 app:paddingStart="20" 解决更新代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<RelativeLayout
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/relativeLayout1">
<ImageView
android:src="@drawable/loginbgandbtnldpi"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/LoginBGImgView" />
<EditText
android:inputType="textEmailAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/LoginEmailEditText"
android:width="300"
android:layout_marginLeft="30"
android:text="Email"
android:paddingLeft="35"
android:layout_marginRight="30"
android:layout_marginTop="295" />
<EditText
android:inputType="textPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/LoginPassEditText"
android:text="Password"
android:width="300"
android:paddingLeft="35"
android:layout_marginLeft="30"
android:layout_marginTop="348"
android:layout_marginRight="30" />
<Button
android:id="@+id/LoginButton"
android:clickable="true"
android:layout_marginTop="432"
android:layout_marginLeft="100"
android:width="160"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:visibility="invisible" />
</RelativeLayout>

</LinearLayout>

新错误列表:

Severity    Code    Description Project File    Line    Suppression State
Error Integer types not allowed (at 'layout_marginLeft' with value '100').
Error Integer types not allowed (at 'layout_marginLeft' with value '30').
Error Integer types not allowed (at 'layout_marginLeft' with value '30').
Error Integer types not allowed (at 'layout_marginRight' with value '30').
Error Integer types not allowed (at 'layout_marginRight' with value '30').
Error Integer types not allowed (at 'layout_marginTop' with value '295').
Error Integer types not allowed (at 'layout_marginTop' with value '348').
Error Integer types not allowed (at 'layout_marginTop' with value '432').
Error Integer types not allowed (at 'paddingLeft' with value '35').
Error Integer types not allowed (at 'paddingLeft' with value '35').
Error Integer types not allowed (at 'width' with value '160').
Error Integer types not allowed (at 'width' with value '300').
Error Integer types not allowed (at 'width' with value '300').

编辑 2:通过使用整数值指定“dp”解决了问题。

最佳答案

这是 Support different pixel densities来自android的文档。

要在不同密度的屏幕上保持 UI 的可见尺寸,您必须使用密度无关像素 (dp) 作为度量单位来设计 UI。一个 dp 是一个虚拟像素单位,大致等于中密度屏幕(160dpi;“基线”密度)上的一个像素。 Android 将此值转换为适合彼此密度的实际像素数。

例如,当您指定两个 View 之间的间距时,使用dp:

<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/clickme"
android:layout_marginTop="20dp" />

然而,在定义文本大小时,您应该使用可缩放像素 (sp) 作为您的单位(但切勿使用 sp 作为布局大小)。默认情况下,sp 单位与 dp 的大小相同,但它会根据用户首选的文本大小调整大小。

指定文本大小时,始终使用sp:

<TextView android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="20sp" />

所以这里的解决方案应该为axml中的布局添加dp

关于c# - 解析 XAML : "Integer types not allowed" errors for many attributes such as width 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57280241/

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