今天学习自定义Button按钮样式。Button样式修改的是Button的背景(Background)属性。
首先写一个定义Button样式的XML文件:
新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧。
程序自动给我们刚刚建的文件里加了selector结点,我们只需要在selector结点里写上三种状态时显示的背景图片(按下、获取焦点,正常)。
<?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/play_press" /> <item android:state_focused="true" android:drawable="@drawable/play_press" /> <item android:drawable="@drawable/play" /> </selector>
我这里获取焦点跟点击时显示的是同一张图片,必须严格照上面的顺序写,不可倒。
接下来只要在布局时写Button控件时应用到Button的Background属性即可。
Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_style" ></Button>
再加上一种自定义样式方法,上面的是用图片,其实我们可以直接通过定义xml文件来实现不同的样式:
在上面的源代码基础上,只需要修改button_style文件,同样三种状态分开定义:
<?xml version="1.0" encoding="utf-8"?>//view的各种状态(正常无焦点,焦点,onclick按下、放开等等
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <shape> <gradient android:startColor="#0d76e1" android:endColor="#0d76e1" android:angle="270" />//颜色渐变
<stroke android:width="1dip" android:color="#f403c9" />//按钮边缘
<corners android:radius="2dp" />//按钮四个圆角
<padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />//按钮文字和边缘距离(内边距)
</shape> </item> <item android:state_focused="true"> <shape> <gradient android:startColor="#ffc2b7" android:endColor="#ffc2b7" android:angle="270" /> <stroke android:width="1dip" android:color="#f403c9" /> <corners android:radius="2dp" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> <item> <shape> <gradient android:startColor="#000000" android:endColor="#ffffff" android:angle="180" /> <stroke android:width="1dip" android:color="#f403c9" /> <corners android:radius="5dip" /> <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" /> </shape> </item> </selector>
gradient 主体渐变 startColor开始颜色,endColor结束颜色 ,angle开始渐变的角度(值只能为90的倍数,0时为左 到右渐变,90时为下到上渐变,依次逆时针类推)
stroke 边框 width 边框宽度,color 边框颜色
corners 圆角 radius 半径,0为直角
padding text值的相对位置
相关推荐
Android自定义Button的通用方法
android studio 自定义button边框,角度,渐变颜色按下时改变样式, 以及基础动画,为image view添加旋转,下移,渐变等样式,使用timer handler button进行控制。
android 自定义各种风格button
C# 自定义控件 自定义Button控件 水晶按钮。其他控件的重写与此类似
android 自定义Button效果
本代码包含自定义按钮代码以及调用代码,下载后可直接运行。
当按钮获取焦点后,按钮增大到之前的1.3倍。个人博客:xiaxveliang.blog.163.com
36种漂亮的CSS3网页按钮Button样式,不看不知道,一看吓一跳,让你以后不用再为按钮的样式担心!
C#自定义按钮源码,封装CustomButton类,可以自定义按钮背景图片,当然,仅仅只是抛砖引玉,可以沿着该思路设计出其它功能的用户自定义控件,开发环境vs2010。
模仿button按下抬起,添加动画,手指移动还原抬起动画。
安卓 android 自定义 switch button,滑动开关,绝对漂亮美观
自定义的button样式,圆角按钮,圆角button
android studio 自定义标题栏,自定义回退按钮事件,自定义右侧显示文字还是图片,自定义右侧点击事件
android自定义view万向按钮,可以输出无极量,值得你拥有
Android自定义view:十字按钮本十字按钮可用于智能家电app,通过设置listener就可以监听四个方向的点击事件,同时其button的反应模式如系统给的button一致。在代码中也给出了另外五个普通按钮进行与十字按钮进行效果...
本文实例讲述了Android自定义Button并设置不同背景图片的方法。分享给大家供大家参考,具体如下: 1、自定义MyButton类 public class MyButton extends Button { //This constructormust be public MyButton...
android 自定义button 支持颜色,圆角,可以简单实现button颜色,圆角
拖动Button的显示效果,Android按钮拖动显示实例,小编的android编译环境又出问题了,暂时没来得及抓个运行图,不好意思啊,反正是个与按钮有关的Android实例源码,要的就下载吧。
android 自定义按钮实现水波纹效果。android 自定义按钮实现水波纹效果