异常信息:
今天实现RadioButton设置选中时改变背景,准备看下布局预览效果时,发现布局空白,报错为:
<item>tag requires a 'drawable' attribute or child tag defining a drawable
异常原因:
一个RadioButton的背景设置错误
android:background="@drawable/rbtn_main_data_bg_selected"
报错信息的意思翻译过来是说background要设置为drawable类型
于是打开rbtn_main_data_bg_selected发现使用的是@color
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:color="@color/alpha_white"></item>
<item android:state_checked="false" android:color="@color/alpha"></item>
</selector>
异常解决:
改为正确设置如下,刷新一下,然后就能同步看到布局改变了
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 点击状态下的效果 -->
<item android:state_checked="true">
<shape>
<!-- 设置背景填充色为半透明白色 -->
<solid android:color="@color/alpha_white"/>
</shape>
</item>
<!-- 正常状态下(非点击)的效果 -->
<item android:state_checked="false">
<shape>
<!-- 设置背景填充色为透明色 -->
<solid android:color="@color/alpha"/>
</shape>
</item>
</selector>