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

问题描述 投票:0回答:1

我正在使用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”文件有问题吗?我已经尝试过清理和重建解决方案。删除并添加每个包,但错误仍然存​​在。

谢谢你的帮助。

xamarin xamarin.forms xamarin.android
1个回答
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的格式

© www.soinside.com 2019 - 2024. All rights reserved.