扣扣技术交流群:460189483
Android开发的过程中,button是最常用的控件之一,但有时候又会设计各种不同样式的button;
下面介绍button的不同形状如何进行设置。
在res/drawable下新建资源文件button_shape.xml,代码如下
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<shape android:shape="rectangle">
<!--设置背景颜色-->
<solid android:color="#40E6E6D1" />
<!--设置渐变色angle=0从左到右渲染,angle=90从上到下渲染,angle=180从右到左渲染-->
<gradient
android:angle="0"
android:startColor="#969696"
android:centerColor="#08ED23"
android:endColor="#B3A0A0AD"
android:type="linear"/>
<!--设置角的弧度-->
<corners android:radius="15dp" />
<!--设置边框以及颜色-->
<stroke
android:width="1dp"
android:color="#0EF379"/>
<!--padding Button里面的文字与Button边界的间隔-->
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp"/>
</shape>
</item>
<item android:state_pressed="true">
<shape>
<!--设置点击之后的颜色-->
<solid android:color="#407EEF72" />
<!--设置点击之后渐变色angle=0从左到右渲染,angle=90从上到下渲染,angle=180从右到左渲染-->
<gradient
android:angle="0"
android:startColor="#969696"
android:centerColor="#F30518"
android:endColor="#B3A0A0AD"
android:type="linear"/>
<!--设置点击之后角的弧度-->
<corners android:radius="15dp" />
<!--设置点击之后边框以及颜色-->
<stroke
android:width="1dp"
android:color="#EF0A34"/>
</shape>
</item>
<!--设置按钮使能之前使能之后的背景图片-->
<item android:state_enabled="true" android:drawable="@drawable/image01"/>
<item android:state_enabled="false" android:drawable="@drawable/image02"/>
</selector>
标注的很清晰,一看就比较明了,其中包含了按下抬起的动作设置