2014-11-21 164 views
2

我試圖製作一個綠色背景的圓形切換按鈕。我用ToggleButton形狀不變

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval" 
    android:visible="true"> 
    <solid android:color="@color/material_green_A200" /> 
</shape> 

用於限定形狀,然後使用

android:background="@drawable/circlebutton" 

改變的形狀和顏色,但沒有改變。它顯示了一個沒有任何背景顏色或形狀,但文字是可見

+0

你能嘗試只是把一個顏色? – 2014-11-21 15:52:04

+0

我做了,它顯示的顏色,由於某種原因,它甚至顯示在Android工作室的圓形按鈕,但在我的手機上它不 – user3553551 2014-11-21 16:28:04

回答

2

試試這個,

你activity.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <ToggleButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/style_toggle_button" /> 

</RelativeLayout> 

風格切換按鈕(style_toggle_button.xml):

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@drawable/offcirclebutton" android:state_enabled="false"/> 
    <item android:drawable="@drawable/oncirclebutton" android:state_pressed="true"/> 
    <item android:drawable="@drawable/oncirclebutton" android:state_checked="true"/> 
    <item android:drawable="@drawable/oncirclebutton" android:state_focused="true"/> 
    <item android:drawable="@drawable/offcirclebutton"/> 
</selector> 

樣式OFF(offcirclebutton.xml):

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval" 
    android:visible="true"> 
    <solid android:color="@android:color/holo_orange_dark" /> 
</shape> 

風格ON(oncirclebutton.xml):

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval" 
    android:visible="true"> 
    <solid android:color="@android:color/holo_green_dark" /> 
</shape> 
+0

情況下,你看不到文字,設置textOn和textOff爲空。像這樣: android:textOn =「」 android:textOff =「」 – 2014-11-21 16:30:22

+0

我的技術有什麼問題導致您的方法奏效? – user3553551 2014-11-21 16:36:32

+0

不知道它的顏色是如何設置的(「@ color/material_green_A200」)。根據其狀態,此解決方案應用於切換按鈕中的「系統」顏色... – 2014-11-21 16:45:13