首先写一个定义Button样式的XML文件:
新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧。
程序自动给我们刚刚建的文件里加了selector结点,我们只需要在selector结点里写上三种状态时显示的背景图片(按下、获取焦点,正常)。
代码如下:
Xml代码
<?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属性即可。
Xml代码
<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代码
<?xml version="1.0" encoding="utf-8"?>
<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值的相对位置
- 浏览: 281353 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (208)
- ios (94)
- android (28)
- j2ee (17)
- java (33)
- C++ (7)
- ios bug (3)
- iOS 4s 5s 适配 (2)
- iOS7 (6)
- java设计模式 (4)
- svn (1)
- git (2)
- cocoa2d-x (3)
- iphone (5)
- eclipse (7)
- mysql (1)
- oracle (0)
- sqlserver (0)
- 云计算 (0)
- html5 (0)
- object-c (7)
- div+css (3)
- photoshop (0)
- 常用算法 (1)
- jquery mobile (3)
- 手机网站 (4)
- Linux (7)
- 学习网址 (2)
- lua (1)
- swift (2)
- php (2)
- SSH (3)
- 笔试题 (6)
- spring (2)
- hibernate (2)
- struts2 (3)
- FreeMarker (0)
- Spring MVC (3)
- jquery (2)
- tomcat (3)
- apache (0)
- JBoss (1)
- 分布式应用与集群 (0)
- 名词概念解释 (1)
- EJB (1)
- webservice (0)
- maven (1)
- Mac OS X (6)
- 其他 (1)
- spring boot (2)
- spring security (1)
- spring io (1)
最新评论
-
paladinosment:
你这个spring注解大全,就这么几行,还真是全。。。。。
spring 注解大全 -
samlomg:
我擦!我都进来了,你给我看这个!
shell 写多行命令 -
wenrisheng:
可以,最后就再写上自己的一点新的体会,这样才提高的快!
SSH 包说明和下载路径 -
samlomg:
博主我能转载文章么?
SSH 包说明和下载路径
发表评论
-
android support v4、v7、v13
2016-10-12 16:40 1438android support v4、v7、v13的区别及作 ... -
移动跨平台的10大跨平台工具
2015-03-13 11:30 708HTML/JavaScript/CSS篇1. PhoneGap ... -
手机支付开放平台
2015-02-03 15:28 547微信支付: https://open.weixin.qq ... -
PhoneGap 2.9配置安装
2015-01-27 09:39 4211.下载PhoneGap:http://phonegap.c ... -
Base64字符串转换成图片
2015-01-16 14:42 1462Android: public Bitmap strin ... -
PagerAdapter的用法
2015-01-16 10:18 1464官方英语原文地址:http://developer.and ... -
@TargetAPI + 版本判断实现高低API版本兼容
2015-01-13 15:57 13613安卓开发中,在低版本SDK使用高版本的API会报错。一般处理 ... -
创建Android工程时报错:Errors running builder 'Android resource manager' on project '项目
2014-08-06 14:27 2500使用Eclipse创建Android工程(new→proje ... -
Android 全屏或者取消标题栏
2014-06-03 15:14 732第一种:也一般入门的时候经常使用的一种方法 ... -
android aidl
2014-05-26 16:23 711一.基础知识 AIDL的作用 在Android平 ... -
android fill parent match parent +id id
2014-05-22 09:10 666有网友表示对于很多工程中的MATCH_PARENT出 ... -
android .9 图片制作
2014-05-14 08:48 1004一、什么是9.png: 可能做过任务栏美化 ... -
eclipse 安装adt
2014-05-09 20:54 3991)下载用于在Eclipse 开发android应用的ADT ... -
android button 背景样式
2014-05-09 16:12 3343在Android开发应用中,默认的Button是由系统渲染 ... -
android ndk (3)
2014-05-03 00:31 441一、使用环境 1、windows64位操作系统 2、ADT ... -
android ndk (2)
2014-05-03 00:30 466一、关于NDK:NDK全称:Native Developme ... -
android NDK
2014-05-02 02:34 603一、Android NDK 安装与配置 下载Andro ... -
jdk环境配置
2014-05-01 21:40 363JDK环境变量配置的步骤如下: 1.我的电脑-->属 ... -
iOS 日期格式串 setDateFormat 显示格式代码
2014-04-12 12:55 1815以下是setDateFormat可使用的英文代號: ... -
android adb工具
2014-04-12 11:51 1472Android的ADB工具使用 在SDK的Tools ...
相关推荐
Button设置背景很简单,只需简单的应用Background属性即可,而为其添加状态设计也是通过此。Android系统为开发者考虑了一套selector机制,可以根据控件的状态(点击、非点击、焦点)自动切换。下面用一个简单的例子来...
然而,系统默认的Button样式可能无法满足所有设计需求,因此,开发者常常需要自定义Button的各种风格,包括颜色、形状、边框、文字样式等。本文将深入探讨如何在Android中自定义各种风格的Button。 首先,我们可以...
本文将深入探讨如何自定义一个Button,使其在不同状态(正常、按下、获取焦点)下呈现出不同的显示样式。我们将通过创建一个自定义的Button类,利用XML属性和Java代码来实现这一功能。 首先,我们需要创建一个新的...
在Android开发中,Button和TextView是两个非常基础且重要的组件,它们构成了用户界面的主要交互元素。Button用于响应用户的点击操作,而TextView则主要用于显示文本信息。这篇教程将深入讲解这两个组件的使用方法,...
Android 自定义 Button 按钮显示样式 Android 自定义 Button 按钮显示样式是指在 Android 应用程序中对 Button 控件的样式进行自定义,以满足不同的应用程序需求和用户体验。自定义 Button 按钮显示样式可以通过两...
在Android开发中,创建带有图标的按钮是一种常见的需求,这可以使用户界面更加直观且易于操作。传统的Button组件虽然可以直接设置背景图来实现图标与文字的结合,但有时我们需要更灵活的布局方式。本文将介绍一种...
- Button的样式可以通过`android:background`属性更改,可以使用颜色值、图片或者自定义形状资源。 - Android提供了多种主题,如`android:theme="@android:style/Theme.Material.Button"`,可以改变Button的整体...
在Android应用开发中,有时为了追求更加个性化的用户界面设计,开发者可能会遇到需要自定义Button样式的需求,例如让一个Button的一侧保持直角,而另一侧则呈现圆角效果。本文将详细介绍如何通过自定义Button的XML...
总结来说,创建Android中的Image Button主要涉及以下几个步骤:在布局文件中定义按钮,设置图像资源,可选地自定义按钮样式,以及在Java代码中处理点击事件。通过这些步骤,你就可以为你的应用创建一个功能完备且...
android studio 自定义button边框,角度,渐变颜色按下时改变样式, 以及基础动画,为image view添加旋转,下移,渐变等样式,使用timer handler button进行控制。
总的来说,自定义Button效果涵盖了Android UI设计的多个方面,包括样式、Drawable、自定义View、动画、属性、触摸反馈等。通过熟练掌握这些技术,开发者能够创造出极具吸引力且用户体验优秀的Android应用。
在 `res/values/styles.xml` 文件中定义一个Button样式: ```xml <style name="MyCustomButton" parent="Widget.AppCompat.Button"> <item name="android:background">@drawable/button_background <item name="...
具体做法是在style资源文件中定义一个新的Button样式,如下面所示: ```xml <style name="Button_List_Style" parent="@style/Widget.AppCompat.Button.Borderless"> <item name="android:minWidth">100dp ...
Android支持自定义主题和样式,可以改变所有Button的默认外观。在`res/values/styles.xml`中定义新的主题,然后在`AndroidManifest.xml`的`<application>`或`<activity>`标签中应用。 6. **动态创建Button**: ...
首先,Android系统自带了一些预设的按钮样式,如默认的`android:buttonStyle`,它通常呈现出带有边框和渐变色的矩形按钮。但开发者可以根据需求调整这些样式,使其与应用的整体设计风格保持一致。 1. **XML资源文件...
首先,Button在Android布局XML文件中定义,通常会包含id、text、样式等属性。例如: ```xml <Button android:id="@+id/my_button" android:layout_width="wrap_content" android:layout_height="wrap_content" ...
在Flex Android项目中,我们经常会遇到需要自定义控件外观的需求,尤其是对于Button(按钮)这种常见的交互元素,设置背景色是提升用户界面美观度和交互体验的重要手段。本篇文章将详细讲解如何在Flex Android项目...
除了基础用法,Button和TextView还有许多进阶功能,如自定义样式、添加图片、设置文本颜色和字体等。例如,可以通过`android:background`为Button设置背景,通过`android:textColor`改变TextView的文本颜色。 对于...
<item name="android:background">@drawable/button_background <item name="android:padding">8dp <item name="android:focusable">true <item name="android:focusableInTouchMode">true ``` 这里的`@...
而`android:button="@drawable/radiobutton"`则用来指定RadioButton的按钮样式,`radiobutton`是另一个定义了不同状态的Drawable资源文件名。 #### 定义RadioButton的按钮样式 对于按钮样式的定义,可以在`res/...