1. 程式人生 > >Android CheckBox button屬性和background屬性

Android CheckBox button屬性和background屬性

CheckBox 有兩個跟現實圖片資源有關的屬性

android:button
android:backgroud

這兩個屬性都可用selector賦值
若只需要有 選中 和 未選中 兩種顯示時,則只需要兩張切圖即可,但時當需要選中狀態下點選,選中狀態下未點選,未選中狀態下點選,未選中狀態下未點選時,若只用其中一個屬性,則要4張不同的圖片,兩個屬性同時使用時則使用3張圖片即可,切點選狀態的背景可通過開發人員畫一個簡單的純色向量圖的方式解決。

舉個例子:

cb_check_selector.xml

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

cb_pressed_selector.xml

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

在寫佈局檔案時,將Checkbox的android:button屬性用cb_check_selector.xml設定,CheckBox的android:backgroud屬性用cb_pressed_selector.xml設定。
這樣做有一個較大的好處是可以將複選框樣式和複選框背景樣式分開,便於樣式更改