1. 程式人生 > >RadioButton自定義樣式 之一 換圖片

RadioButton自定義樣式 之一 換圖片

radiobutton 、checkbox預設的圖片太挫了,那我們自己來定義一下他的樣式

1、找兩張圖片:選中和未選中的

2、再來張背景圖片

3、定義狀態

radiobutton_icon.xml

<?xml version="1.0" encoding="utf-8"?> 

<selector xmlns:android="http://schemas.android.com/apk/res/android">  
    <item  
    android:state_checked="false"  
    android:drawable="@drawable/btn_check_off_selected" />  
    <item  
    android:state_checked="true"  
    android:drawable="@drawable/btn_check_on_selected" />  
</selector>

4、定義樣式

 <style name="RadioBtnMyIcon"> 
    <item name="android:background">@drawable/item_bg</item> 
        <item name="android:button">@drawable/radiobutton_icon</item> 
</style> 

ok了,現在引用一下

 <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/RadioBtnMyIcon"
        android:text="選項1"
        />

效果 

select基礎知識補充

<item> 

          android:state_pressed 
               Boolean“true”表示按下狀態使用(例如按鈕按下);“false” 
               表示非按下狀態使用。
           android:state_focused 

               Boolean“true”表示聚焦狀態使用(例如使用滾動球/D-pad 
               聚焦Button);“false”表示非聚焦狀態使用。
           android:state_selected 


               Boolean“true”表示選中狀態使用(例如Tab 開啟);“false” 
               表示非選中狀態使用。
           android:state_checkable 

               Boolean“true”表示可勾選狀態時使用;“false”表示非可勾選狀態使用。(只對能切換可勾選非可勾選的構件有用。)
           android:state_checked 

                 Boolean“true”表示勾選狀態使用;“false”表示非勾選狀態使用。
           android:state_enabled 

               Boolean“true”表示可用狀態使用(能接收觸控/點選事件);
               “false”
表示不可用狀態使用。
           android:window_focused 

              Boolean“true”表示應用程式視窗有焦點時使用(應用程式在前臺);“false”表示無焦點時使用(例如Notification欄拉下或對話方塊顯示)。

注意:記住一點,StateList中第一個匹配當前狀態的item會被使用。因此,如果第一個item

有任何狀態特性的話,那麼它將每次都被使用,這也是為什麼預設的值必須總是在最後