Xamarin.Android 未声明按钮边框
Xamarin.Android Button Border was not declared
我无法将 BorderColor
属性设置到我的 Button
。我不确定我做错了什么,但是 Visual Studio 说没有声明该属性。 Android:BorderColor
也不行。
The 'BorderColor' attribute is not declared
我的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<TextView
android:id="@+id/header"
android:text="@string/header"
style="@style/header_text" />
<Button
android:id="@+id/phones_button"
android:layout_below="@id/header"
android:layout_alignParentStart="true"
android:layout_height="100dp"
android:layout_width="150dp"
android:textColor="@color/gray"
android:background="@color/white"
BorderColor="@color/gray"
android:text="@string/phones"
style="@style/button_style" />
</RelativeLayout>
The 'BorderColor' attribute is not declared
问题是 intellisense 无法获取我们键入的属性,尽管这些属性存在于 Android SDK 中并且显示相应的属性未声明。
这些是由于 Visual Studio.
中的 XML 模式文件夹中缺少一些 .xsd 文件所致
要解决此问题,请下载下面给出的这些文件链接:
- https://github.com/atsushieno/monodroid-schema-gen/blob/master/android-layout-xml.xsd
- https://github.com/atsushieno/monodroid-schema-gen/blob/master/schemas.android.com.apk.res.android.xsd
您可以下载这些文件并将其手动移动到:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\XML\Schemas
或
C:\Program Files (x86)\Microsoft Visual Studio 14.0\XML\Schemas33
I cannot set the BorderColor attribute to my Button.
您可以参考 @Konstantin Burov's answer,为您的 Button
设置一个可绘制的形状(矩形)作为背景。
<Button
android:id="@+id/my_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textColor="@color/grey"
android:layout_margin="30dp"
android:background="@drawable/Button_Border"
/>
创建一个矩形可绘制对象 Button_Border.xml
并放入 Resource/Drawable
文件夹中:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="@android:color/white" />
<stroke android:width="1dp" android:color="#FF4081"/>
</shape>
效果:
更新:
这不是解决方法,而是一个答案,并且 Android
中没有 BorderColor
属性。请注意:
Most Android views have attributes in the Android namespace. When referencing these attributes you must include the namespace prefix, or your attribute will be interpreted by aapt as just a custom attribute.
这就是它不起作用的原因,这就是您可以毫无错误地将此项目部署到您的设备的原因。
我无法将 BorderColor
属性设置到我的 Button
。我不确定我做错了什么,但是 Visual Studio 说没有声明该属性。 Android:BorderColor
也不行。
The 'BorderColor' attribute is not declared
我的代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<TextView
android:id="@+id/header"
android:text="@string/header"
style="@style/header_text" />
<Button
android:id="@+id/phones_button"
android:layout_below="@id/header"
android:layout_alignParentStart="true"
android:layout_height="100dp"
android:layout_width="150dp"
android:textColor="@color/gray"
android:background="@color/white"
BorderColor="@color/gray"
android:text="@string/phones"
style="@style/button_style" />
</RelativeLayout>
The 'BorderColor' attribute is not declared
问题是 intellisense 无法获取我们键入的属性,尽管这些属性存在于 Android SDK 中并且显示相应的属性未声明。
这些是由于 Visual Studio.
中的 XML 模式文件夹中缺少一些 .xsd 文件所致要解决此问题,请下载下面给出的这些文件链接:
- https://github.com/atsushieno/monodroid-schema-gen/blob/master/android-layout-xml.xsd
- https://github.com/atsushieno/monodroid-schema-gen/blob/master/schemas.android.com.apk.res.android.xsd
您可以下载这些文件并将其手动移动到:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\XML\Schemas
或
C:\Program Files (x86)\Microsoft Visual Studio 14.0\XML\Schemas33
I cannot set the BorderColor attribute to my Button.
您可以参考 @Konstantin Burov's answer,为您的 Button
设置一个可绘制的形状(矩形)作为背景。
<Button
android:id="@+id/my_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:textColor="@color/grey"
android:layout_margin="30dp"
android:background="@drawable/Button_Border"
/>
创建一个矩形可绘制对象 Button_Border.xml
并放入 Resource/Drawable
文件夹中:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="@android:color/white" />
<stroke android:width="1dp" android:color="#FF4081"/>
</shape>
效果:
更新:
这不是解决方法,而是一个答案,并且 Android
中没有 BorderColor
属性。请注意:
Most Android views have attributes in the Android namespace. When referencing these attributes you must include the namespace prefix, or your attribute will be interpreted by aapt as just a custom attribute.
这就是它不起作用的原因,这就是您可以毫无错误地将此项目部署到您的设备的原因。