2017-07-06 99 views
0

我更改了ToggleButton的背景,并希望将其重置为默认状态。android:将ToggleButton背景设置回默认值

改变了背景:

btn.setBackgroundColor(Color.parseColor("#FF2929")); 

试图改变回:

btn.setBackgroundResource(0);         //Just text, no button 
btn.setBackgroundColor(android.R.drawable.btn_default);  //Normal button not toggle 
+0

'btn.setBackgroundResource'应该在传递'0'时清除背景。 'btn.setBackgroundColor(android.R.drawable.btn_default); '? – Yashasvi

+1

您正在Color中设置drawable,请改为使用“btn.setBackgroundResource(android.R.drawable.btn_default)”。这应该在你的按钮中设置一些东西。 – krishan

+0

@krishan从我口中取出话语;-)也许你可以将它作为答案发布! – DaveNOTDavid

回答

0

绘制创建文件夹下的XML文件,并把这个代码,目前我把XML文件名是check.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item 
    android:drawable="@color/Your color" 
    android:state_checked="true" /> 
<!-- When not selected, use white--> 
<item android:drawable="@color/Your color" 
    android:state_checked="false"/> 
</selector> 

把这段代码放入您的切换按钮布局xml

android:background="@drawable/check" 

这可能对你有帮助。

+0

谢谢,但我没有试图根据是否选中来设置颜色。我正在做一个琐事游戏,颜色取决于用户输入是否正确。如果按钮正确则按钮变为绿色,如果不正确则按钮变红,并且新问题应该返回原始背景。 – Ricardo

2

您正在Color中设置drawable,使用btn.setBackgroundResource(android.R.drawable.btn_default)。 这应该在你的按钮中设置一些东西。