使用xml定义一个圆角矩形,外围轮廓线实线、内填充渐变色, drawablle文件下建立btn_bg.xml代码如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">//设置圆角按钮
<solid android:color="#A2B5CD"/>//定义按钮的背景颜色
<corners android:radius="15dip"/>//设置按钮每个角的弧形角度
<padding//按钮文字与边界的距离
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp"/>
</shape>
shape控件里面还包含一些属性。
- <?xml version="1.0" encoding="utf-8"?>
- <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
- <item>
- <shape android:shape="rectangle">
- <solid android:color="#FFEC7600" />
- <corners
- android:topLeftRadius="5dip"
- android:topRightRadius="5dip"
- android:bottomLeftRadius="5dip"
- android:bottomRightRadius="5dip" />
- </shape>
- </item>
- <item android:top="1px" android:bottom="1px" android:left="1px" android:right="1px">
- <shape>
- <gradient
- android:startColor="#FFEC7600" android:endColor="#FFFED69E"
- android:type="linear" android:angle="90"
- android:centerX="0.5" android:centerY="0.5" />
- <corners
- android:topLeftRadius="5dip"
- android:topRightRadius="5dip"
- android:bottomLeftRadius="5dip"
- android:bottomRightRadius="5dip" />
- </shape>
- </item>
- </layer-list>
接下来,同样在drawable文件下建立btn_bg_new.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="@color/bt_bg"/>
<item android:state_focused="true" android:drawable="@color/bt" />
<item android:drawable="@drawable/btn_bg" />
</selector>
main.xml文件中button应用自定义代码效果:
<Button
android:id="@+id/button_single"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/btn_bg_new"
android:text="@string/button_single" />
<Button
android:id="@+id/button_two"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:layout_gravity="center"
android:background="@drawable/btn_bg_new"
android:text="@string/button_two" />
<Button
android:id="@+id/button_risk"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:layout_gravity="center"
android:background="@drawable/btn_bg_new"
android:text="@string/button_risk" />
效果图如下: