我遇到以下问题:我为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>
答案 0 :(得分:1)
在触摸模式下,当您没有按下项目时,没有选择或聚焦的东西。
但你可以解决它。您需要为列表设置选择模式(单个或多个,默认为.none),然后在选择器中使用state_activated
。