如何更改Android上的切换button的背景颜色

我试图改变使用XML文件的切换button的背景颜色为白色,但切换button是完全损坏的。 它看起来像所有的button被白色覆盖。

当切换button的颜色改变为白色时,切换button上没有ON或OFF指示。 是否有另一种方式来改变背景,不会损坏切换button的指示?

<ToggleButton android:id="@+id/togglebutton" android:layout_width="100px" android:layout_height="46px" android:background="#ffffff" android:layout_above ="@+id/save" android:textOn="DAY" android:textOff="NIGHT" /> 

这是我的XML代码如何查找切换button。

Solutions Collecting From Web of "如何更改Android上的切换button的背景颜色"

是的,有一种方法可以根据需要更改背景,但是您必须使用如下所示的select器作为背景:

 <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/some_image" /> <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/some_other_image" /> <item android:state_focused="false" android:state_pressed="false" android:drawable="@drawable/some_image1" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/other_image" /> </selector> 

对于@Drawable等(您可以使用一种颜色或渐变,请查看以获取有关渐变的更多信息。

按照这种方式使您的ToogleButton在开启时具有背景颜色红色,在closures时具有绿色

首先 ,在drawable文件夹中创buildtooglebutton_selector.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/togglebutton_on" android:state_checked="true" /> <item android:drawable="@drawable/togglebutton_off" android:state_checked="false" /> </selector> 

其次 ,在drawable文件夹中创buildtogglebutton_on.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#ff0000" /> // red color </shape> 

第三 ,在drawable文件夹中创buildtogglebutton_off.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:color="#00FF00" /> // green color </shape> 

最后 ,在你的ToggleButton中

  <ToggleButton android:id="@+id/btnMon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/tooglebutton_selector" //set background of ToggleButton to tooglebutton_selector /> 

在反编译SystemUI.apk时,应该转到以下文件:SystemUI / res / values / colors.xml

然后更改以下行:

#ff000000 #ffffffff #80000000#ffadc1d6 #ffffffff#ffe6e6e6