2

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

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

我想我确实错过了一些州/州组合,但我不知道是哪个。我尝试了很多,还有来自 StackOverflow 的示例,但没有任何效果。希望这里有人遇到同样的挑战并且有正确的覆盖。下面是我的可绘制选择器。

提前致谢!

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>
4

1 回答 1

1

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

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

于 2012-06-07T22:09:53.567 回答