Android Radiobutton超級好用的自定義背景、文字顏色、點選效果
阿新 • • 發佈:2019-01-28
Android開發中一些認證、篩選的功能需要用到單選按鈕,首先想到的是RadioGroup巢狀RadioButton,但是自帶的樣式真是不堪入目啊,功能實現了,如何能最大化的提升使用者體驗呢?這是一個問題……
廢話不多說,畢竟開發人員也不太善於表達,還是直接看圖說話吧:
首先思路要明確,分析要獨到,radioButton預設背景是白底黑字,選中是綠底綠字,有無點選效果展示;
分析完畢,需要做的事情:
1:radioButton的背景;
2:radioButton的字型顏色;
3:radioButton的點選效果;
那麼這裡就開始著手,需要在res目錄下面建立一個color資料夾,裡面建立一個狀態選擇器,
Step 1:
設定選中效果顏色的改變即可,
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_checked="true" android:color="@color/green_00bc9c"></item> <item android:state_checked="false" android:color="@color/grey_999"></item> </selector>
直接在佈局檔案中設定
android:textColor="@color/color_radiobutton"
第一個已經搞定;
接下來直接背景,和radioButton的點選效果一塊實現,看好嘍:
Step 2:
還是在佈局裡面直接引用
android:background="@drawable/screen_radio"
在drawable下面建立一個狀態選擇器
<?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_write_selector" /> <item android:state_checked="true" android:drawable="@drawable/btn_selector" /> </selector>
接著再drawable下面建立btn_selector
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/grey_btn_pressed" android:state_pressed="true" /> <item android:drawable="@drawable/bg_text_normal" android:state_pressed="false"/> </selector>
btn_write_selector
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/lightest_gray" android:state_pressed="true"></item>//按下 <item android:drawable="@color/white"></item>//鬆開 </selector>
顏色我這裡就不貼上了,統統搞定,請大家參考;