2011-10-05 197 views
12

我試圖使用XML文件更改切換按鈕的背景顏色爲白色,但切換按鈕已完全損壞。它看起來像所有的按鈕都被白色覆蓋。如何更改Android上的切換按鈕的背景顏色

當我將切換按鈕的顏色更改爲白色時,切換按鈕上沒有ON或OFF指示。是否有另一種方法來改變不會損壞切換按鈕指示的背景?

<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代碼如何查找切換按鈕。

+1

向我們展示您的嘗試。一般來說,您需要使用[顏色狀態列表](http://developer.android.com/guide/topics/resources/color-list-resource.html)或[可繪製狀態列表](http:// developer。 android.com/guide/topics/resources/drawable-resource.html#StateList)來完成你所描述的內容。 –

回答

13

是的,有改變的背景如你所願的方式,但你必須使用一個選擇這樣的背景:

<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等(可以使用一種顏色或。做一個梯度檢查this有關漸變的詳細信息

+0

感謝您的代碼和教程 – padmi

-13

當你編譯你SystemUI.apk,你應該去以下文件:SystemUI/RES /價值/ colors.xml

然後更改以下行:

#FF000000 #FFFFFFFF #8000# ffadc1d6 #FFFFFFFF #ffe6e6e6

+0

必須有一個更簡單的方法來做到這一點? –

+1

不要這樣做。 – ZirconCode

1

按照此方法,使您ToogleButton具有背景色紅時,綠燈亮時OFF

第一個,在可繪製文件夾中創建tooglebutton_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> 

,創建togglebutton_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> 

,在繪製文件夾中創建togglebutton_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 
      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 
      /> 
+0

你能幫忙嗎? http://stackoverflow.com/questions/39772456/change-togglebutton-color – John

相關問題