Button是最长常见的控件之一,属性特征没什么好说的,就来自定义button的样式,实现我们看见的各种绚丽的button效果。
要自定义样式,无外乎2种方式:
一是:常见的使用点9图(.9),这个熟悉android应用开发的都不陌生,经常用到
二是:矢量图,自己通过share等画出来,这个效率比较低,对于button样式改变,使用的不是很多。
先来介绍使用点9图吧,点9图工具在android sdk包中就有,自己可以尝试使用下。
绘制在L的区域:用于拉伸的纵向区域。
绘制在T的区域:用于拉伸的横向区域。
绘制在R的区域:用于显示前景的纵向范围。
绘制在B的区域:用于显示前景的横向范围。
红色框区域:表示纵向拉伸的区域,也就是说,当图片需要纵向拉伸的时候它会只指定拉伸红色区域,其他区域在纵向是不会拉伸的。
绿色框区域:表示横向拉伸的区域,也就是说,当图片需要横向拉伸的时候它会只指定拉伸绿色区域,其他区域在横向是不会拉伸的。
显然红色和绿色相交的部分是既会进行横向拉伸也会进行纵向拉伸的。
蓝色区域:表示前景能显示的纵向范围。即前景的最上面可以显示到什么地方,最下面可以显示的什么地方。
黄色区域:表示前景能显示的横向范围。即前景的最左边可以显示到什么地方,最右边可以显示的什么地方。
蓝色和黄色相交部分:表示整个前景能显示的区域。一个区域是矩形的,蓝色规定了上下边界,黄色规定了左右边界,两者共同当然也就规定了一个矩形区域。
好了,进入正题,
(a) 使用draw9patch.bat作完图片后,得到两张按钮背景,分别是正常和按下状态下的,命名为bg_btn_nomal.9.png和bg_btn_selected.9.png。
(b) 编写图片使用x选择器bg_button_select.xml。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/bg_btn_selected" />
<item android:state_focused="true"
android:drawable="@drawable/bg_btn_selected" />
<item android:drawable="@drawable/bg_btn_nomal" />
</selector>
(c) 在界面定义文件 layout/main.xml中添加Button按钮控件的定义。Button都是可以使用背景属性的
<Button
android:layout_width="120dip"
android:layout_height="40dip"
android:text="9-patch图片背景按钮"
android:background="@drawable/bg_button_select" />
使用矢量步骤都差不多
第一步 使用xml定义一个圆角矩形,外围轮廓线实线、内填充渐变色
<?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>
第二步写一个选择器
bg_button_select.xml
第三部,button中
引用android:background="@drawable/bg_button_select"
就这样简单 ,都去试试吧
分享到:
相关推荐
<item name="android:button">@drawable/selector</item>//这个selector.xml中就是对应不同状态的CheckBox的背景图片 </style> 3:在selector.xml <selector xmlns:android=...
* ,通常我们需要自定义Button样式,自定义Button样式有三种: * 1、使用.9格式图片作为Button背景,或者作为ImageView、 * TextView、RadioButton等控件背景,效果都不错,能够自适应 * 2、使用自定义矢量图的...
NULL 博文链接:https://chennaigong.iteye.com/blog/1143049
效果图如下所示: 一、shape 样式:(在drawable新建–》new–》Drawable resource file 在父级标签selector添加Item ) ...<shape android:shape=rectangle> <solid android:color=#73c4f3> <
Button 自定义点击样式,添加音效 http://blog.csdn.net/shark0017
Android Studio 在xml文件中设置界面布局1、xml文件中给输入框editText修改下划线颜色2、设置button按钮为圆角及修改按钮颜色3、运用约束布局时预览效果和运行效果不一致 写一写今天困扰我很久的问题:如何给...
Android自定义View研究-- 一个小Demo Android调用相册拍照实现系统控件缩放切割图片 Android SQLite的实例汇总大全 两分钟彻底让你明白Android Activity生命周期(图文)! Android 图形系统剖析 Android 立体效果图片...
CheckBox是Android中用的比较多的一个控件,不过它自带的button样式比较丑,通常都会替换成本地的资源图片。使用本地资源图片很简单,设置android:button属性为一个自定义的包含selector的drawable文件即可。 例如...
[四次元]android-styled-dialogs 可自定义样式的dialog.zip [四次元]Android中实现Iphone样式的AlertDialog.zip [四次元]Android实现Windows风格的Dialog.zip [四次元]dlna库源代码包.zip [四次元]gridview分页效果....
书名:《Android编程入门很简单》(清华大学出版社.王勇)。 压缩打包成2部分,这是第1部分。 本书是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书。本书避免出现...
自定义UI,实现了转盘样式按钮,多功能按钮。 此控件可以设置 按钮的图片,按钮的数量,还有背景,样式,分割线的宽度,还有对称轴。
书名:《Android编程入门很简单》(清华大学出版社.王勇)。 压缩打包成2部分,这是第2部分。 本书是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书。本书避免出现...
Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...
Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...
public void newDatas(List<UniversityListDto> newsList) { //进入显示的初始数据或者下拉刷新显示的数据 mQuickAdapter.setNewData(newsList);//新增数据 mQuickAdapter.openLoadMore(10,true);//设置是否可以...
Button是Android中一个非常简单的控件,在我们平时的项目中,可以说是非常的常见,使用率也是相当高。下面通过实例代码给大家介绍Android studio button 按钮 四种绑定事件的方法,具体代码如下所示: package ...
Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...
2.3.2 按钮(Button)与图片按钮(ImageButton)组件的功能和 用法 66 2.3.3 使用9Patch图片作为按钮背景 68 2.3.4 单选按钮(RadioButton)和复选 框(CheckBox)介绍与应用 69 2.3.5 状态开关按钮...
3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 手机页面的转换——setContentView的应用 3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递——...