Androidbuttonshape形状资源码实现

1、项目Src下创建drawable

看文档Develop/API Guides/App Resources/Drawable/Shape Drawable

单词:corners : 角  ;  gradient :梯度; solid:固定的。 stroke: 边框--能够做下划线
       Rectangle : 矩形;dash :破折号 gap:间隙。

2、拷贝实例代码,文件命名(gradient_box.xml,以下是模版)

<?

xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="5dip"/> <gradient android:startColor="#ff0000" android:endColor="#00ff0000"/> <solid android:color="#ffffff" /> <stroke android:width="3dip" android:color="#000000" android:dashGap="5dip" android:dashWidth="5dip"/> </shape>

3、默认状态function_greenbutton_normal.xml

<?xml version="1.0" encoding="utf-8"?

> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="5dip"/> <solid android:color="#ffffff" /> </shape>

4、按下去状态状态function_greenbutton_pressed.xml

<?

xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="5dip"/> <solid android:color="#22000000" /> </shape>

5、把两个状态整合在shape_bg.xml

<?

xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/function_greenbutton_pressed" /> <!-- pressed --> <item android:state_focused="true" android:drawable="@drawable/function_greenbutton_pressed" /> <!-- focused --> <item android:drawable="@drawable/function_greenbutton_normal" /> <!-- default --> </selector>

6、并使用

在Button框下android:background="@drawable/shape_bg"来调用。

原文地址:https://www.cnblogs.com/cxchanpin/p/6888705.html