我试图在android视图中设置一个按钮的样式,但是由于添加了一个自定义选择器,我得到以下错误,是什么导致了这个?:
Android.Views.InflateException:二进制XML文件行#1:错误膨胀类android.widget.Button
查看导致悲伤
<Button
android:text="Next"
android:id="@+id/nextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/primary_button_style"
android:textColor="@color/button_primary"
android:background="@color/button_primary" />
RES /颜色/ button_primary.xml
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:color="@color/accent"
android:state_enabled="true"
/>
<item
android:color="@color/grey"
android:state_enabled="false"
/>
</selector>
RES /值/ Styles.xml
<style name="primary_button_style" parent="android:Widget.Button">
<item name="android:paddingLeft">50px</item>
<item name="android:paddingRight">50px</item>
<item name="android:height">50px</item>
<item name="android:minHeight">50px</item>
<item name="android:maxHeight">50px</item>
<item name="android:textAllCaps">true</item>
<item name="android:textSize">30px</item>
<item name="android:textStyle">bold</item>
</style>
我在Visual Studio中使用Xamarin
答案 0 :(得分:6)
您发布的选择器适用于文本颜色,而不适用于背景。您应该在drawable/
文件夹中添加一个并使用android:drawable
代替android:color
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/accent"
android:state_enabled="true"
/>
<item
android:drawable="@color/grey"
android:state_enabled="false"
/>
</selector>
顺便说一句。如果你为背景和文字使用相同的颜色,你将无法看到后者
答案 1 :(得分:3)
致电 drawable instead of color
您正在
Android.Views.InflateException:二进制XML文件行#1:错误 膨胀类android.widget.Button
问题在这里
android:background="@color/button_primary"
您可以创建drawable
文件夹并致电
android:background="@drawable/button_primary"