2

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

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

我想我确实想念一些州/州组合,但我无法弄清楚哪一个。我尝试了很多,也来自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> 

回答

1

在触摸模式中,没有作为选择或当你没有一个项目按集中没有这样的事情。

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