错误:在Xamarin.Android中,“ attrs.xml”中的属性已经定义了不兼容的格式

时间:2019-04-10 17:27:49

标签: xamarin xamarin.forms xamarin.android

我正在使用Xamarin开发应用程序。 我对其他平台(如UWP和iOs)没有任何问题。

但是当我尝试构建Android应用程序时,出现以下错误:

Errors shown in Visual Studio 2017

所有这些错误均涉及以下显示的“ attrs.xml”文件:

    <?xml version="1.0" encoding="UTF-8"?>
<resources>
   <declare-styleable name="DrawableStates">
      <attr name="state_indeterminate" format="boolean" />
   </declare-styleable>
   <declare-styleable name="SfCheckBox">
      <attr name="isthreestate" format="boolean" />
      <attr name="cornerradius" format="float" />
      <attr name="checked" format="enum">
         <enum name="unchecked" value="0" />
         <enum name="indeterminate" value="1" />
         <enum name="checked" value="2" />
      </attr>
   </declare-styleable>
   <declare-styleable name="SfSegmentedControl">
      <!--        The selected index of SfSegmentCondrol-->
      <attr name="segmentSelectedIndex" format="integer" />
      <!--        The backcolor of SfSegmentCondrol-->
      <attr name="segmentBackColor" format="color" />
      <!--        The border color of SfSegmentCondrol-->
      <attr name="segmentBorderColor" format="color" />
      <!--        The border thickness of SfSegmentCondrol-->
      <attr name="segmentBorderThickness" format="string" />
      <!--        The color of SfSegmentCondrol-->
      <attr name="segmentColor" format="color" />
      <!--        The segment padding of SfSegmentCondrol-->
      <attr name="segmentedPadding" format="string" />
      <!--        The segment height of SfSegmentCondrol-->
      <attr name="segmentedHeight" format="string" />
      <!--        The segment width of SfSegmentCondrol-->
      <attr name="segmentedWidth" format="string" />
      <!--        The stroke thickness of SfSegmentCondrol-->
      <attr name="segmentStrokeThickness" format="string" />
      <!--        The corner radius of SfSegmentCondrol-->
      <attr name="segmentCornerRadius" format="string" />
      <!--        The position of SfSegmentCondrol-->
      <attr name="segmentPosition" format="enum">
         <enum name="top" value="0" />
         <enum name="bottom" value="1" />
         <enum name="fill" value="2" />
         <enum name="border" value="3" />
      </attr>
      <!--        The displaymode of SfSegmentCondrol-->
      <attr name="segmentDisplayMode" format="enum">
         <enum name="image" value="0" />
         <enum name="text" value="1" />
         <enum name="imagewithtext" value="2" />
      </attr>
   </declare-styleable>
</resources>

我的“ attrs.xml”文件是否有问题? 我已经尝试清理和重建解决方案。删除并再次添加每个软件包,但错误仍然存​​在。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您是否像这样通过Syncfusion使用了SfSegmentedControlhttps://help.syncfusion.com/xamarin-android/sfsegmentedcontrol/getting-started

根据您的错误消息,有两个问题。

问题1 segmentPosition segmentDisplayMode有关。 我在SfSegmentedControl中找不到这些属性,可以参考以下屏幕快照。如果要在attrs.xml中定义属性,SfSegmentedControl必须具有这些属性。 enter image description here 解决方案:您可以自定义SfSegmentedControl来添加这些属性。

问题2 SfCheckBox相关,checked属性的格式为bool,而不是enum,如此屏幕截图。

enter image description here 解决方案:更改checked

的格式