1.在drawable下新建一个选择器如下图所示
![这里写图片描述](http://upload-images.jianshu.io/upload_images/6470415-4ffb75eb275a8785?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
<?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就这么简单!
* 结语:本文如果有错请指正!