Android Listview Listitem状态颜色

时间:2012-06-07 21:43:43

标签: android android-listview drawable background-color listitem

我遇到以下问题:我为Android按钮创建了一个自定义状态选择器。他们按预期工作。当我希望将相同的状态应用于ListView项目行时,问题就开始了。

所以我在适配器中设置样式,现在我发现列表框视图项上的相同状态看起来不同。它更像是默认样式和我想要设置的颜色之间的混合。当我长按项目或释放项目时,我注意到它先消失为默认颜色(蓝色)然后透明。

我想我确实错过了一些州/州组合,但我无法弄清楚哪一个。我尝试了很多,也是StackOverflow的例子,但没有任何作用。希望这里有人有同样的挑战并且有正确的覆盖。下面是我的drawable选择器。

提前致谢!

XML:

<selector xmlns:android="http://schemas.android.com/apk/res/android"
android:exitFadeDuration="@android:integer/config_mediumAnimTime"
android:enterFadeDuration="@android:integer/config_shortAnimTime"
> 

    <item   android:state_window_focused="false" 
        android:state_enabled="true"
        android:drawable="@android:color/transparent" />

<item   android:state_window_focused="false" 
        android:state_enabled="false"
        android:drawable="@android:color/transparent" />

<item   android:state_window_focused="false" 
        android:state_focused="true" 
        android:drawable="@android:color/transparent" />

<item   android:state_pressed="true"
        android:drawable="@android:color/holo_green_light" />

<item   android:state_focused="true"
        android:state_pressed="false"
        android:state_enabled="true"
        android:drawable="@android:color/holo_green_light" />

<item   android:drawable="@android:color/transparent" />
</selector>

1 个答案:

答案 0 :(得分:1)

在触摸模式下,当您没有按下项目时,没有选择或聚焦的东西。

但你可以解决它。您需要为列表设置选择模式(单个或多个,默认为.none),然后在选择器中使用state_activated