標籤雲

搜尋此網誌

2012/10/15

自訂 CheckBox/RadioButton 的樣式

這其實很簡單
但是還是在這邊筆記一下

首先我們需要在 drawable 下建立一個 xml 檔案
把我們準備好的圖對應到不同狀態上(以 CheckBox 為例)

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

那麼要怎麼把它套用到內建組件上呢
當然就是用 style 設定!
在樣式檔案裡定義一個 style
將 android:button 屬性指到剛剛定義的選擇器 xml 檔案

<style name="styleSelfCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
    <item name="android:button">@drawable/my_checkbox</item>
    <item name="android:paddingLeft">15dp</item>
</style>

這樣就大功告成啦!
圖跟字的位置還可以用 android:paddingLeft 屬性再小小微調一下會更好

沒有留言: