有的时候我们不想自己的程序按钮都长的一样,这样太单调了,那么应该如何定制自己的按钮呢?
首先在工程的drawable目录下新建一个.xml文件,这里以btnshape为例,选择shape标签,然后在标签内定义多个属性,如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp"></corners>
<gradient android:angle="45"
android:startColor="#ffccff"
android:centerColor="#ff99cc"
android:endColor="#ff3399"></gradient>
<stroke android:width="1dp"></stroke>
</shape>
<corners>为圆角的半径,值越大,弧度越大。
angle为颜色渐变的角度,这里定为45度,可以看到是斜着变的。
<gradient>为渐变色,分为开始、中间、和结束三种,可以随自己喜爱配出不同的颜色
<stroke>为描边,即线的粗细程序或者颜色
效果如下:
下面是angle没设置的图片
除此之外,还可以定义两个不同的属性,在点击的时候呈现不同的颜色,这里要用到android的选择器selector标签
还是在drawable下创建selector.xml文件,选择selector标签,如下:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btnshape" android:state_pressed="true"></item>
<item android:drawable="@drawable/btnshape3" android:state_pressed="false"></item>
</selector>
drawable选择的是之前定义的按钮形状,state_pressed="true"表示按钮按下的时候取这个形状或者颜色,false表示没按下的形状或颜色,还有很多其他属性,比如选中、获取焦点等。有兴趣的可以慢慢测试
效果图: