第一步:在drawable文件下创建button的形状描述文件btn_shape.xml
btn1.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 实心长方形 -->
<solid android:color="#FF9999" />
<!-- 设置弧度 -->
<corners android:radius="10dp" />
</shape>
btn2.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 空心长方形 -->
<stroke
android:width="1dp"
android:color="#AA55AA" />
<!-- 设置弧度 -->
<corners android:radius="8dp" />
</shape>
btn3.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 点击时候的按钮样式 -->
<item android:state_pressed="true">
<shape>
<solid android:color="#FFFFFF" />
<corners android:radius="20dp" />
</shape>
</item>
<!-- 不点击时候的按钮样式 -->
<item android:state_pressed="false">
<shape>
<solid android:color="#F3F7C0" />
<corners android:radius="20dp" />
</shape>
</item>
</selector>
第二步:在布局文件中layout.xml中对btn1.xml以上三种其中一种的引用语句,用来设置button形状:
android:background="@drawable/btn1">
效果图:
点击前点击后
解析shape文件中的android:shape属性:
Android:shape=["rectangle" | "oval" | "line" | "ring"] 其中rectagle矩形,oval椭圆,line水平直线,ring环形
注:
常用的Root element 包括:
1.shape主要是定义一个形状,然后可以设置给某个按钮作为背景,最常用的就是圆角按钮。
2.selector主要是定义不同状态按钮的背景等。