很多人应该都发现过这样一个现象:当我们点击按钮时,按钮的背景色会加深或者变淡,这样做当然更方便我们确定是否点中了这个按钮。那么这样的效果是怎样实现的呢?——让我们来看看下面这个简单的例子吧。
1、在drawable里新建三个xml文件:
第一个:button_voice_normal.xml
?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--设置button四个角的弧度-->
<corners android:radius="10dp"/>
<!--设置button里面的颜色-->
<solid android:color="#E15050"/>
<!--设置button边框的颜色和宽度-->
<stroke android:color="@android:color/black" android:width="6dp"/>
</shape>
第二个:button_voice_press.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--设置button四个角的弧度-->
<corners android:radius="10dp"/>
<!--设置button里面的颜色-->
<solid android:color="#EFA9A9"/>
<!--设置button边框的颜色和宽度-->
<stroke android:color="@android:color/black" android:width="6dp"/>
</shape>
第三个:button_voice_background.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_voice_press" android:state_pressed="true"/>
<item android:drawable="@drawable/button_voice_normal"/>
</selector>
当这三个xml文件建好了以后,只需要在我们要用到的按钮里加入android:background="@drawable/button_voice_background"
这句就可以了。其实就是调用的第三个xml文件。这样我们就实现了按钮的变化。