Binary XML file line #3: <item> tag requires a
(转载)http://www.52php.cn/article/p-wdyxposp-db.html 异常日志:Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #3: <item> tag requires a 'drawable' attribute or child tag defining a drawable
产生原因:我的一个button按钮的background属性中设置成"@color/button_text_selector",按照异常来说,这个background这个属性的值必须是drawable类型的,不能是color类型。 drawable&color:
本来我是想给button设置一个selector,让按钮背景正常状态下是一个颜色值,点击状态下背景又是另外一个值,但是没想到报了这样一个错误,既然background只能设置为drawable,那我就写一个drawable的selector给button设置不同状态下的颜色值,如下所示:
这样即可对不同状态下的button设置颜色值了,还可以设置其他圆角之类的效果;当然这个只能设置按钮背景的效果,但是文字是没有点击效果的,如果使用我上面缩写的selector,那么就会在按下按钮的时候出现这个效果:
在按钮被点击的时候背景色和字体颜色混成一体,所以我们最好同时给字体颜色设置一个selector,如下:
copy
最后在界面layout中设置button属性: copy
这样我们的button效果就会如图:
button正常状态下为白底黑字黑边,点击状态下为黑底白字白边。
demo下载:http://download.csdn.net/detail/zhufuing/6974387 //----------------------------------------------------------------------------------------------------------------------------------------------------------------- 由于下面的一句话引起的: radio.setBackgroundResource(R.drawable.radiobtn_selector); <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/title" android:state_checked="true"></item> <item android:color="@color/title" android:state_pressed="true"></item> <item android:color="@color/white"></item> </selector> 报出:Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #3: <item> tag requires a 'drawable' attribute or child tag defining a drawable
改成如下: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <shape> <solid android:color="@color/title" /> <stroke android:width="1dp" android:color="@color/white" /> <corners android:radius="5dp" /> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> </shape> </item> <item android:state_checked="true"> <shape> <solid android:color="@color/title" /> <stroke android:width="1dp" android:color="@color/white" /> <corners android:radius="5dp" /> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> </shape> </item> <item> <shape> <solid android:color="@color/white" /> <stroke android:width="1dp" android:color="@color/white" /> <corners android:radius="5dp" /> <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" /> </shape> </item> </selector> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |