1. 程式人生 > >Android 改變單選按鈕RadioButton的顏色

Android 改變單選按鈕RadioButton的顏色

折騰了半天,在寫專案的時候,由於Android版本問題導致RadioButton原生的樣式有所變化,比如說在Android4.3  單選按鈕就是黑色,但是版本高點,或者其他手機(努比亞單選按鈕就是紅色的),5.0+就變成了淺灰色,很不容易看出來,體驗就不好了,現在,就要更改這個單選按鈕的顏色了。經過一上午的這搜那搜,這查那查,功夫不負有心人,特此整理出來,如下:

在xml中更改RadioButton的圓圈和圓點的顏色就別指望了,那該怎麼辦呢,好,進入正題:

step1:在xml中RadioButton下設定屬性android:button="@null" //意思就是隱藏了原生態的圈圈按鈕

step2:在drawable資料夾下新建xml檔案radiobutton_selector.xml 程式碼如下:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:drawable="@drawable/icon_rb_selector_normal" android:state_window_focused="false"/>

    <item android:drawable="@drawable/icon_rb_selector_checked"
android:state_focused="false"
android:state_pressed=
"true"/> <item android:drawable="@drawable/icon_rb_selector_checked" android:state_focused="false" android:state_checked="true"/> <item android:drawable="@drawable/icon_rb_selector_checked" android:state_focused="true" android:state_checked="false"/> <item android:drawable="@drawable/icon_rb_selector_checked"
android:state_focused="true" android:state_checked="true"/>" </selector>
ps:@drawable/icon_rb_selector_normal 和 @drawable/icon_rb_selector_checked 都是在drawable下的一個圖片檔案 分別是單選按鈕未選擇時候的圖片和已選中時候的圖片

step3:然後就是引入第二步寫好的檔案了,在第一步中的RadioButton的屬性中新增 android:drawableLeft="@drawable/radiobutton_seletor"

現在就在radiobutton按鈕左邊引入了第二步寫好的了。

ps:可以隨意設定自己喜歡的按鈕圖片,請記住裁剪圖片大小以適應自己的佈局。