Android开发Hack1-圆角镂空按钮的样式定义
准备写一个关于Android开发小Hack 系列文章,希望能帮到一些开发者同学。
第一篇:Android开发Hack1-圆角镂空按钮的样式定义
通过xml文件实现自定义圆角镂空按钮,以及点击效果
- <Button android:layout_width="78dp" android:layout_height="32dp"
- android:id="@+id/corner_btn"
- android:textSize="15sp"
- android:textColor="@color/score_point"
- android:text="button1"
- android:layout_marginRight="17dp"
- android:layout_marginLeft="17dp"
- android:layout_gravity="center_vertical"
- android:background="@drawable/circle_corner_button_selector"
- />
在drawable中创建按钮背景selector器
circle_corner_button_selector.xml
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:drawable="@drawable/circle_corner_button_pressed" android:state_pressed="true"/>
- <item android:drawable="@drawable/circle_corner_button"/>
- </selector>
分别定义不同选择操作下的效果
首先:circle_corner_button.xml文件
- <?xml version="1.0" encoding="utf-8"?>
- <!-- 带圆角 白色背景 黄色色边框 长方体 -->
- <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
- <item>
- <shape>
- <solid android:color="#FFFFFF" />
- <corners android:topLeftRadius="5dp" android:topRightRadius="5dp"
- android:bottomRightRadius="5dp" android:bottomLeftRadius="5dp" />
- <stroke android:width="1dp" android:color="#F58939" />
- <padding
- android:left="5dp"
- android:top="5dp"
- android:right="5dp"
- android:bottom="5dp"
- />
- </shape>
- </item>
- </layer-list>
和circle_corner_button_pressed.xml文件
- <?xml version="1.0" encoding="utf-8"?>
- <!-- 带圆角 白色背景 灰色边框 长方体 -->
- <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
- <item>
- <shape>
- <solid android:color="#FFFFFF"/>
- <corners android:topLeftRadius="5dp" android:topRightRadius="5dp"
- android:bottomRightRadius="5dp" android:bottomLeftRadius="5dp"/>
- <stroke android:width="1dp" android:color="#dbdbdb"/>
- <padding
- android:left="5dp"
- android:top="5dp"
- android:right="5dp"
- android:bottom="5dp"
- />
- </shape>
- </item>
- </layer-list>
最后的按钮效果应该是这样的:
正常情况下:
点击后的样式: