按钮是android中常用的元素,我们做按钮常用的几种做法有
设计师给我们几个按钮背景图:我们把他做出 btn_submit.9.png图标。它会根据内容的大小自动图片会等比例的缩放。
然后创建一个selectot的drawable文件。设置不同状态下的图标样式
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/tuan_button_h" android:state_pressed="true"/>
<item android:drawable="@drawable/tuan_button_normal"/>
</selector>
在使用的使用通过使用Button的background的属性引用定义好的selector文件就可以了。
第二种做法是:我的上一篇文章"Flat Button的制作" http://blog.csdn.net/iwantyousafe/article/details/43482277
现在还有第三种,虽然第三种给第二种原理差不多,但是还得学习一下 。不久前在github上查看到的,https://github.com/sapandiwakar/PSGradientButtons。
它的做法原理是通过selectot文件,直接在一个文件中进行了处理,而第二种做法是分开了几个文件,变得有点麻烦了,下面这种写法就非常有意思了。
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:dither="true">
<item android:state_pressed="true"><shape>
<gradient android:angle="270" android:endColor="#FBFBFB" android:startColor="#E6E7E6" />
<stroke android:width="1dp" android:color="#E1E1E1" />
<corners android:radius="4dp" />
<padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
</shape></item>
<item><shape>
<gradient android:angle="270" android:endColor="#E6E7E6" android:startColor="#FBFBFB" />
<stroke android:width="1dp" android:color="#E1E1E1" />
<corners android:radius="4dp" />
<padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
</shape></item>
</selector>