我正在使用主要针对Android 4.0的清单制作应用程序。在那里,我使用此选择器作为列表项的背景:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@drawable/checklist_selector_pressed" />
<item
android:state_focused="true"
android:drawable="@drawable/checklist_selector_focused" />
<item
android:state_activated="true"
android:drawable="@drawable/checklist_selector_selected" />
<item
android:drawable="@android:color/transparent" />
“state_activated”似乎可以解决问题,因为如果我把那个选择器拿走,检查的项目就不会被明显检查。但是,这仅适用于后蜂窝版本。之前的任何事情都会忽略state_activated(或state_checked和state_selected)并且只接受state_pressed(当我触摸它们时,这些线会自行着色,但之后不会保持颜色)。这对我来说真的很困惑,所以我很感激你对此事的任何建议。
感谢。
答案 0 :(得分:2)
Honeycomb之前不存在android:state_activated
属性。我建议您维护两个版本的drawable:res/drawable
中的默认版本,不引用android:state_activated
(或Honeycomb中引入的任何其他状态)和{中的Honeycomb及更高版本{1}}确实如此。