我有以下选择器,它工作得很好。
<?xml version="1.0" encoding="utf-8"?>
<selector android:exitFadeDuration="@android:integer/config_mediumAnimTime"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@color/the_color" />
<item android:drawable="@android:color/transparent" />
</selector>
注意,我可以使用Color
drawable,如drawable-resouce.html
颜色资源也可以用作 XML 中的可绘制对象。例如,在创建状态列表可绘制对象时,您可以为 android:drawable 属性 (android:drawable="@color/green") 引用颜色资源。
非常好。现在,我想尝试一下主题。
home_menu_text_view_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector android:exitFadeDuration="@android:integer/config_mediumAnimTime"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="?attr/homeMenuTextViewPressedColor" />
<item android:drawable="@android:color/transparent" />
</selector>
attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="homeMenuTextViewPressedColor" format="color" />
</resources>
主题.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.X.Light.DarkActionBar" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="homeMenuTextViewPressedColor">@color/home_menu_text_view_pressed_color_inverse_holo_light</item>
</style>
</resources>
颜色.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="home_menu_text_view_pressed_color_inverse_holo_light">#ff4fc5f1</color>
</resources>
现在,我会收到错误消息:-
原因:org.xmlpull.v1.XmlPullParserException:二进制 XML 文件第 4 行:标签需要“drawable”属性或定义可绘制对象的子标签
知道如何解决这个问题吗?