我有按钮的排列在我的班级如下:更改在单击该按钮的图像背景,并把它原来的状态点击时再次
private static final int[] idArray = {R.id.bt0,R.id.bt1,R.id.bt2,R.id.bt3,R.id.bt4,R.id.bt5,R.id.bt6,R.id.bt7,R.id.bt8,R.id.bt9,R.id.bt10,R.id.bt11,R.id.bt12,R.id.bt13,R.id.bt14,R.id.bt15,R.id.bt16,R.id.bt17,R.id.bt18,R.id.bt19,R.id.bt20,R.id.bt21,R.id.bt22,R.id.bt23,R.id.bt24,R.id.bt25,R.id.bt26,R.id.bt27,R.id.bt28,R.id.bt29};
private Button[] bt = new Button[idArray.length];
,并已加入我的XML图像背景下面:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btnew2" android:state_selected="true"></item>
<item android:drawable="@drawable/btnew1" android:state_pressed="true"></item>
<item android:drawable="@drawable/btnew"></item>
</selector>
现在,当我按下一个按钮的背景图像(btnew1.gif)而改变,并且恢复正常释放时。 我希望颜色被改变(它将是一个不同的图像,btnew2.gif),当一个按钮被点击时,应该返回到原来的颜色(btnew.gif)再次点击。
东西就像state_clicked
如果有东西是那样的。
PS:我在这里检查其他的答案,但其中大多数是仅在Java类换色和我所期待的背景图像变化(至btnew2.gif)时点击并回到原先的图像(btnew.gif)再次点击。
请建议合适的解决方案。
你可以用编程的方式来做,但使用'ToggleButton'不会更有意义吗? –
是的,正如Niels所说,使用设计修改后的“ToggleButton”会更有意义。看看这一个http://stackoverflow.com/questions/18335239/android-toggle-button-custom-look – Omkar
实际上,我也设置了一个'TextView' onClick按钮显示并隐藏几秒钟后。这可能使用'ToggleButton'? – amit