state_pressed在onClick运行时保持为true



我想为按钮设置一个不同的背景颜色,只有当按钮被用户触摸时。

但是这个颜色在整个过程中保持不变onClick在运行即使我不再触摸按钮

请帮我找到解决这个问题的方法

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#777777" />
<item android:color="@android:color/black" />
</selector>

假设你的on-click方法花费了很长时间,你应该添加第二个条目来说明按钮没有被按下的情况:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="#777777" />
<item android:state_pressed="false" android:color="#000000"/>
<item android:color="@android:color/black" />
</selector>

相关内容

最新更新