1.在drawable下新建一個選擇器如下圖所示

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--我們在這里添加選擇器添加的兩種狀態-->
<!--1.按下的狀態-->
<item android:state_pressed="true" android:drawable="@drawable/btn_pressed"/>
<!--2.默認時的狀態-->
<item android:drawable="@drawable/btn_normal"/>
</selector>
這里添加的是按鈕按下和默認時的兩種狀態,這兩種狀態為
"@drawable/btn_pressed"
//和
"@drawable/btn_normal"
但是現在這里的btn_pressed和btn_normal 是沒有的,我們需要新建.
2.在drawable下新建btn_pressed.xml 和 btn_normal.xml 這里面就是兩種狀態代碼如下,因兩個文件代碼都是相同的只貼出來一個.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--指定實體的顏色-->
<solid android:color="#99CCFF"/>
<!--指定上下左右圓角的大小-->
<corners android:topLeftRadius="20dp"
android:topRightRadius="20dp"
android:bottomRightRadius="20dp"
android:bottomLeftRadius="20dp"/>
</shape>
如果是屬于規則圖形那么就不需要知道上下左右,使用radius就可以.代碼如下
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--指定實體的顏色-->
<solid android:color="#99CCFF"/>
<!--指定圓角的大小-->
<corners android:radius="10dp"/>
</shape>
這里我們指定了兩個圓角的兩個背景顏色
<solid android:color="#99CCFF"/>
<solid android:color="#d9d9d9" />
顏色根據產品需求自己制定.
3.到這里我們的顏色選擇器就完成了,下面我們將btn_selector用到Button的background屬性下.
<Button
android:layout_width="300dp"
android:layout_height="90dp"
android:background="@drawable/btn_selector" />
自定義Button就這么簡單!
* 結語:本文如果有錯請指正!