说明可绘制列表在预蜂窝版本上无法正常工作



我正在制作一个带有检查表的应用程序,主要针对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(当我触摸线条时,线条会自行着色,但之后不会保持着色)。这真的让我很困惑,所以我希望能就此事提供任何建议。

谢谢。

蜂窝之前不存在android:state_activated属性。我建议您维护drawable的两个版本:res/drawable中不引用android:state_activated(或Honeycomb中引入的任何其他状态)的默认版本,以及res/drawable-v11中引用的Honeycombe及更高版本。

相关内容

  • 没有找到相关文章

最新更新