1. 程式人生 > >Android Radiobutton超級好用的自定義背景、文字顏色、點選效果

Android Radiobutton超級好用的自定義背景、文字顏色、點選效果

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>

顏色我這裡就不貼上了,統統搞定,請大家參考;