我创建了一个自定义Button,如下所示。
file:buttoncontrol.xml
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/greendot"
android:state_pressed="true" />
<item android:drawable="@drawable/reddot" />
</selector>
布局文件中的..我用过
<Button
...
android:background="@drawable/buttoncontrol"></Button>
当我尝试运行程序时,布局显示带有reddot的按钮(预期结果)。当我按下按钮时,它会变为绿色,直到我释放按键。如何在下次点击之前将其设为绿色。更多切换行为。
我也在切换按钮中尝试了相同的xml文件。结果相同。
除此之外(用于测试),我还尝试在活动中添加以下代码。仍然没有得到理想的结果。 (这是拯救国家)
...under onClick of Button/ToggleButton
buttonControl.setPressed(true);
有什么建议吗?我的偏好是避免以编程方式控制状态。即我可以随时保留这些图像并使用buttonContol.setBackgroundDrawable作为按钮
由于
答案 0 :(得分:0)
我通过将android:state_pressed =“true”更改为android:state_checked =“true”来使ToggleButton工作。
但问题仍然存在于Button。如何使按钮做类似的活动?特别是当有超过2个州时。
答案 1 :(得分:0)
标准按钮没有持久状态的概念。您必须创建一个跟踪各种状态的Button的自定义实现。对不起,但没有办法解决它。