I have a button which contains a drawable and text. I want the background of the button to be different than the normal one provided (preferably a plain color). This works fine, I simply use the android:background
attribute in the XML file and assign the color accordingly. However, I want the the background to change to a different color when selected or focused (state selector).
I attempted to create a selector in a drawable folder with the defined colors (which works well when working with the text of a button), like so:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:color="@color/green" />
<item android:state_focused="true" android:state_pressed="true" android:color="@color/green" />
<item android:state_focused="false" android:state_pressed="true" android:color="@color/green" />
<item android:color="@color/white" />
</selector>
and set this xml as the android:background
attribute, like so:
android:background="@drawable/button_state"
but this causes a force close stating:
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/button_state.xml from drawable resource ID #0x7f020070
but the resource is there. Can you not customize the background state? If you can, how? or what am I doing wrong? Thanks for the help!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…