1

我正在使用 listSelector 以便在按下时更改 listItem 颜色。

在模拟器和 Android 4.1 设备上一切看起来都不错,但在 Android 2.2 设备上,列表项改变颜色,整个列表变为紫色(所有项),而不仅仅是选定项。

我使用: android:listSelector="@drawable/purpulefocus" 按下时将背景更改为紫色。

我想知道 Android 版本之间是否存在行为变化,或者我的设备存在问题,因为我无法弄清楚是什么导致了这种行为变化。

肿瘤坏死因子。

<ListView
    android:id="@+id/lvRecepies1list"
    android:listSelector="@drawable/purpulefocus"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>
4

2 回答 2

0

2.3 及以下版本期望将选择器设置为列表项的背景。所以基本上你必须将选择器添加到列表中,为了让它在 2.3 及更低版本上工作,你需要添加相同的可绘制引用作为背景到你用作 ListView 行的项目的根元素。

于 2012-10-18T13:18:03.967 回答
0

使用“形状”找到解决方案,例如:

<item android:state_focused="true">
<shape>
    <solid android:color="#66000000" />
</shape>
</item>

从此处的示例:ListSelector 适用于整个列表

于 2012-10-18T13:12:42.347 回答