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沒
有任何狀態特性的話,那麼它將每次都被使用,這也是為什麼預設的值必須總是在最後