只有苦练七十二变,才能笑对八十一难,戏里如此,人生亦然。————六小龄童
安卓也是如此。
在Android开发中经常会使用到自定义button样式,下面来讲解一下常用的实现办法。
第一种方式,用图片来实现:
首先要在res目录下,创建一个drawable文件夹,来存放样式的xml;如下图:
drawable文件夹中创建一个xml文件(button_selector.xml);如图
在darawable-dpi文件夹放好UI提供的图片,
然后button_selector.xml中代码:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 按下时的背景图片 -->
<item android:drawable="@drawable/public_bt_blue_select" android:state_selected="true"></item>
<item android:drawable="@drawable/public_bt_blue_select" android:state_pressed="true"></item>
<!-- 默认时的背景图片 -->
<item android:drawable="@drawable/public_bt_blue_unselect"></item>
</selector>
最后在布局button按钮中添加 android:background=”@drawable/button_selector”
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/button_selector"
android:textColor="#ffffff"
android:textSize="14sp"
android:text="点我呗" />
最后效果就是
这种就是就简单的实现圆弧按钮了;
第二种方法是写xml样式;
其实和第一种很像,换汤不换药
要在drawable文件夹中创建两个xml样式文件(blue_corners.xml按下前样式)和(blue_corners1.xml按下后样式);如下图:
blue_corners.xml中样式代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 填充颜色 -->
<solid android:color="#4294e8"></solid>
<!-- 线的宽度,颜色灰色 -->
<stroke android:width="0dp" android:color="#cccccc"></stroke>
<!-- 矩形的圆角半径 -->
<corners android:radius="3dp" />
</shape>
blue_corners1.xml中样式代码,其实跟blue_corners.xml就是更改一点属性,其他没变
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 填充颜色 -->
<solid android:color="#3483d4"></solid>
<!-- 线的宽度,颜色灰色 -->
<stroke android:width="0dp" android:color="#cccccc"></stroke>
<!-- 矩形的圆角半径 -->
<corners android:radius="3dp" />
</shape>
然后button_selector.xml中代码:更替换图片一样
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/blue_corners1" android:state_selected="true"></item>
<item android:drawable="@drawable/blue_corners1" android:state_pressed="true"></item>
<item android:drawable="@drawable/blue_corners"></item>
</selector>
最后在布局button按钮中添加 android:background=”@drawable/button_selector”
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/button_selector"
android:textColor="#ffffff"
android:textSize="14sp"
android:text="点我呗" />
具体效果大家自己尝试下,体验一下哈。
上面所述两种方式,都是最常见的,虽然还有可以用view写按钮,但这里不具体介绍。
第一次写博客不习惯,虽然很简单的一篇,但花了不少时间,还缺少好多,希望体谅,一起学习。。