第一种状态
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle" >
<!-- shape:形状.可以制作4种基本的形状.rectangle:矩形 -->
<!-- corners:角度.radius:半径 -->
<corners android:radius="5dp" />
<!-- solid:实心,填充色 -->
<solid android:color="#E6423B" />
<!-- gradient:渐变色.angle:0,渐变的方向是左右方向;90:上下方向.startColor,centerColor,endColor:具体的颜色 -->
<!--
<gradient
android:angle="0"
android:centerColor="#83B74C"
android:endColor="#E53C37"
android:startColor="#3A9EFF" />
-->
<!-- stroke:描边width:边线的宽度;color:边线的颜色;dashWidth:决定破折号的长度;dashGap:破折号之间的距离 -->
<stroke
android:dashGap="6dp"
android:dashWidth="24dp"
android:width="2dp"
android:color="#FCD20A" />
<!-- padding:留白,间距 -->
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
<!--size:尺寸 -->
<!--
<size android:width="40dp"
android:height="20dp"/>
-->
</shape>
第二种状态
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<!-- shape:形状.可以制作4种基本的形状.rectangle:矩形 -->
<!-- corners:角度.radius:半径 -->
<corners android:radius="5dp" />
<!-- solid:实心,填充色 -->
<solid android:color="#E6423B" />
<!-- gradient:渐变色.angle:0,渐变的方向是左右方向;90:上下方向.startColor,centerColor,endColor:具体的颜色 -->
<!--
<gradient
android:angle="0"
android:centerColor="#83B74C"
android:endColor="#E53C37"
android:startColor="#3A9EFF" />
-->
<!-- stroke:描边width:边线的宽度;color:边线的颜色;dashWidth:决定破折号的长度;dashGap:破折号之间的距离 -->
<stroke
android:dashGap="6dp"
android:dashWidth="24dp"
android:width="2dp"
android:color="#FCD20A" />
<!-- padding:留白,间距 -->
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
<!--size:尺寸 -->
<!--
<size android:width="40dp"
android:height="20dp"/>
-->
</shape>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- selector:状态选择器.常用状态:state_pressed,当点击按钮的时候;state_focused:EditText..;state_enabled:不可用; state_checked:checkbox或者radiobutton; state_selected:选择类型的控件 -->
<item android:drawable="@drawable/btn_bg_press" android:state_pressed="true"></item>
<item android:drawable="@drawable/btn_bg_normal" android:state_pressed="false"></item>
</selector>
<item name="android:background">@drawable/btn_bg_selector</item>
在项目中经常的布局写法
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/colorzi" android:state_selected="true"/>
<item android:color="@color/light_gray"/>
</selector>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--<item android:drawable="@mipmap/shujiabai" android:state_checked="true"></item>-->
<!--<item android:drawable="@mipmap/shujia_hei" android:state_checked="false"></item>-->
<item android:drawable="@mipmap/shujiabai" android:state_selected="true" />
<item android:drawable="@mipmap/shujia_hei" android:state_selected="false"/>
</selector>