如何自定义android Button样式

 我来答
千锋教育
2015-12-09 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
  
  自定义android Button样式方法步骤如下:
  1、:常见的使用点9图(.9),这个熟悉android应用开发的都不陌生,经常用到先来介绍使用点9图吧,点9图工具在android sdk包中就有。绘制在L的区域:用于拉伸的纵向区域。绘制在T的区域:用于拉伸的横向区域。绘制在R的区域:用于显示前景的纵向范围。绘制在B的区域:用于显示前景的横向范围。红色框区域:表示纵向拉伸的区域,也就是说,当图片需要纵向拉伸的时候它会只指定拉伸红色区域,其他区域在纵向是不会拉伸的。绿色框区域:表示横向拉伸的区域,也就是说,当图片需要横向拉伸的时候它会只指定拉伸绿色区域,其他区域在横向是不会拉伸的。显然红色和绿色相交的部分是既会进行横向拉伸也会进行纵向拉伸的。蓝色区域:表示前景能显示的纵向范围。即前景的最上面可以显示到什么地方,最下面可以显示的什么地方。黄色区域:表示前景能显示的横向范围。即前景的最左边可以显示到什么地方,最右边可以显示的什么地方。蓝色和黄色相交部分:表示整个前景能显示的区域。一个区域是矩形的,蓝色规定了上下边界,黄色规定了左右边界,两者共同当然也就规定了一个矩形区域。
  
  2、:矢量图,自己通过share等画出来,这个效率比较低,对于button样式改变,使用的不是很多。
  (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:drawable="@drawable/bg_btn_selected" android:state_pressed="true"><item android:drawable="@drawable/bg_btn_selected" android:state_focused="true"><item android:drawable="@drawable/bg_btn_nomal"></item></item></item></selector>
(c) 在界面定义文件 layout/main.xml中添加Button按钮控件的定义。Button都是可以使用背景属性的
  <b></button>
  使用矢量步骤都差不多
  第一步 使用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:bottomleftradius="5dip" android:bottomrightradius="5dip" android:topleftradius="5dip" android:toprightradius="5dip"></corners></solid></shape></item><item android:bottom="1px" android:left="1px" android:right="1px" android:top="1px"><shape><gradient android:angle="90" android:centerx="0.5" android:centery="0.5" android:endcolor="#FFFED69E" android:startcolor="#FFEC7600" android:type="linear"><corners android:bottomleftradius="5dip" android:bottomrightradius="5dip" android:topleftradius="5dip" android:toprightradius="5dip"></corners></gradient></shape></item></layer-list>
  第二步写一个选择器bg_button_select.xml
第三部,button中引用android:background="@drawable/bg_button_select"
杜爷1号
推荐于2016-04-01 · 知道合伙人软件行家
杜爷1号
知道合伙人软件行家
采纳数:4973 获赞数:9185
毕业于福建农林大学,本科学士学位。从事IT行业3年,曾参与过多个大型项目的需求调研、软件研发。

向TA提问 私信TA
展开全部
楼主,你好!根据你的描述,让我来为你解答!
方法/步骤:
在layout中添加2个按钮,从下图中可以看出在按钮中调用了style和android:background属性,这两个属性一个是自定义样式,一个是给按钮添加背景图片,下面详细介绍下

展开res目录,可以看到在values目录下有styles.xml文件,该文件用于自定义样式,双击打开

下图中标注的是我自定义的样式,name为BtnStyle,当按钮调用自定义样式的时候访问这个name

下图是在button中调用自定义样式的方法,比较简单

下面分享下如何往按钮中添加自定义图片,使按钮看起来更漂亮些,因不同手机分辨率不同,那必然牵扯到图片的拉伸,在android系统下有个很好的技术“九宫格“,可以对图片进行处理,只对局部进行拉伸,给工具目录存储在android\sdk\tools\draw9patch.bat,经过该工具处理的图片以.9.png结尾,放到drawable文件夹中

下图是在Button中通过android:background属性加载图片的方法,至此我们自定义的按钮样式也就完成了,当然这只是个引子,在具体的项目工程中实现的效果要比这个demo复杂很多,有好的设计思路欢迎交流。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-07-20
展开全部
在layout中添加2个按钮,从下图中可以看出在按钮中调用了style和android:background属性,这两个属性一个是自定义样式,一个是给按钮添加背景图片,下面详细介绍下

展开res目录,可以看到在values目录下有styles.xml文件,该文件用于自定义样式,双击打开

下图中标注的是我自定义的样式,name为BtnStyle,当按钮调用自定义样式的时候访问这个name

下图是在button中调用自定义样式的方法,比较简单

下面分享下如何往按钮中添加自定义图片,使按钮看起来更漂亮些,因不同手机分辨率不同,那必然牵扯到图片的拉伸,在android系统下有个很好的技术“九宫格“,可以对图片进行处理,只对局部进行拉伸,给工具目录存储在android\sdk\tools\draw9patch.bat,经过该工具处理的图片以.9.png结尾,放到drawable文件夹中

下图是在Button中通过android:background属性加载图片的方法,至此我们自定义的按钮样式也就完成了,当然这只是个引子,在具体的项目工程中实现的效果要比这个demo复杂很多,有好的设计思路欢迎交流。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式