状态列表可绘制在预蜂窝版本上不能正常工作

时间:2012-07-29 17:18:07

标签: android listview statelistdrawable

我正在使用主要针对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(当我触摸它们时,这些线会自行着色,但之后不会保持颜色)。这对我来说真的很困惑,所以我很感激你对此事的任何建议。

感谢。

1 个答案:

答案 0 :(得分:2)

Honeycomb之前不存在android:state_activated属性。我建议您维护两个版本的drawable:res/drawable中的默认版本,不引用android:state_activated(或Honeycomb中引入的任何其他状态)和{中的Honeycomb及更高版本{1}}确实如此。