文档章节

Android 自定义Button按钮显示样式(正常、按下、获取焦点)

SuShine
 SuShine
发布于 2015/06/24 13:55
字数 480
阅读 25
收藏 0
点赞 0
评论 0
<?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="#EB5E0A" android:endColor="#EB5E0A" android:angle="270" />
            <stroke android:width="1dp" android:color="#EB5E0A" />
            <corners android:radius="1dp" />
            <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />            
        </shape>
    </item>
    <item android:state_focused="true">
        <shape>
            <gradient android:startColor="#EB5E0A" android:endColor="#EB5E0A" android:angle="270" />
            <stroke android:width="1dp" android:color="#EB5E0A" />
            <corners android:radius="1dp" />
            <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />            
        </shape>
    </item>
    <item>
        <shape>
            <gradient android:startColor="#963C06" android:endColor="#963C06" android:angle="270" />
            <stroke android:width="1dp" android:color="#963C06" />
            <corners android:radius="1dp" />
            <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />            
        </shape>
    </item>
    <!--
	gradient 主体渐变 startColor开始颜色,endColor结束颜色 ,angle开始渐变的角度(值只能为90的倍数,0时为左到右渐变,90时为下到上渐变,依次逆时针类推)
	stroke 边框 width 边框宽度,color 边框颜色
	corners 圆角 radius 半径,0为直角
	padding text值的相对位置
    -->
</selector>



第二种方法:图片

新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧。
程序自动给我们刚刚建的文件里加了selector结点,我们只需要在selector结点里写上三种状态时显示的背景图片(按下、获取焦点,正常)。
代码如下:

1
2
3
4
5
6
<?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属性即可。

1
2
3
4
<Button android:id="@+id/button1"
	android:layout_width="wrap_content" android:layout_height="wrap_content"
	android:background="@drawable/button_style"
></Button>

© 2011, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记


PS 第一个的效果不错


本文转载自:http://blog.csdn.net/sfshine/article/details/7707760

共有 人打赏支持
SuShine
粉丝 119
博文 452
码字总数 127224
作品 0
青岛
后端工程师
Android 自定义Button按钮显示样式(正常、按下、获取焦点)

现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在骂UI丑的。今天学习自定义Button按钮样式。Button样式修改的是Button的背景(Backgrou...

红薯
2011/12/14
12.2K
5
android自定义button样式

在Android开发应用中,默认的Button是由系统渲染和管理大小的。而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的。因此,我们在开发产品的时候,需要对默认按钮进行美化。在本篇...

sumpower
2014/02/25
0
0
Android开发指南-用户界面-事件处理

处理用户界面事件Handling UI Events 在Android上,不止一个途径来侦听用户和应用程序之间交互的事件。对于用户界面里的事件,侦听方法就是从与用户交互的特定视图对象截获这些事件。视图类提...

JavaGG
2010/03/24
0
0
Android自定义Button按钮显示样式

转自:http://www.2cto.com/kf/201108/100751.html Android自定义Button按钮显示样式 现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在...

天高空
2011/12/22
419
0
Android XML文件使用

一、布局文件:在layout目录下,使用比较广泛; 我们可以为应用定义两套或多套布局,例如:可以新建目录layoutland(代表手机横屏布局),layoutport(代表手机竖屏布局),系统会根据不同情况自...

迷途d书童
2012/01/10
0
0
Android中shape的使用

Android中shape的使用 Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大 体的了解,稍作总结: 先看下面的代码: <shape> <!-- 实心 --> <solid a...

扬名立万
2014/06/02
0
0
Android:imeOptions来改变软键盘Enter键图标

1.actionUnspecified 未指定,对应常量EditorInfo.IMEACTIONUNSPECIFIED. 2.actionNone 没有动作,对应常量EditorInfo.IMEACTIONNONE 3.actionGo 去往,对应常量EditorInfo.IMEACTIONGO 4.acti......

Erichkko
2015/10/28
0
0
利用Activity实现一个简单的可输入对话框

1、需求分析 在应用中这样那样的评论总是少不了的,有的应用是在底部直接加一个EditText和一个Button,让用户输入文字或者表情之后点击按钮提交;而有的虽然也放置了EditText,但仅仅是一个“...

Lindroid
2017/10/23
0
0
Windows Phone Button控件样式自定义

概述 Button是各种手机平台中最重要的控件之一,我们与系统的大部分交互都会通过按钮进行,在Android和iOS中都提供了很方便的按钮自定义方式,Android可以采用selector背景选择器进行按钮状态...

dodola
2013/03/10
0
0
Android手势监听类GestureDetector的使用

在使用自定义视图的时候,对触屏事件的处理是比不可少的,有能力的可以自己写代码处理,这样更加的灵活。如果不想这么麻烦,Android提供了一个手势监听类GestureDetector,可以供我们使用。G...

程序袁_绪龙
2014/09/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java基础——异常

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 异常处理: 可以挖很多个陷阱,但是不要都是一样...

凯哥学堂
28分钟前
0
0
180723-Quick-Task 动态脚本支持框架之结构设计篇

文章链接:https://liuyueyi.github.io/hexblog/2018/07/23/180723-Quick-Task-动态脚本支持框架之结构设计篇/ Quick-Task 动态脚本支持框架之结构设计篇 相关博文: 180702-QuickTask动态脚本...

小灰灰Blog
31分钟前
0
0
SBT 常用开发技巧

SBT 一直以来都是 Scala 开发者不可言说的痛,最主要的原因就是官方文档维护质量较差,没有经过系统的、循序渐进式的整理,导致初学者入门门槛较高。虽然也有其它构建工具可以选择(例如 Mill...

joymufeng
36分钟前
0
0
HBase in Practice - 性能、监控及问题解决

李钰(社区ID:Yu Li),阿里巴巴计算平台事业部高级技术专家,HBase开源社区PMC&committer。开源技术爱好者,主要关注分布式系统设计、大数据基础平台建设等领域。连续4年基于HBase/HDFS设计和...

中国HBase技术社区
37分钟前
1
0
ES18-JAVA API 批量操作

1.批量查询 Multi Get API public static void multiGet() {// 批量查询MultiGetResponse response = getClient().prepareMultiGet().add("my_person", "my_index", "1")// 查......

贾峰uk
41分钟前
0
0
SpringBoot2.0使用health

1,引入actuator <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency> 2,application.properties ......

暗中观察
48分钟前
0
0
阿里巴巴Java开发规约

###编程规约 命名风格 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。...

简心
53分钟前
0
0
如何用TypeScript来创建一个简单的Web应用

转载地址 如何用TypeScript来创建一个简单的Web应用 安装TypeScript 获取TypeScript工具的方式: 通过npm(Node.js包管理器) npm install -g typescript 构建你的第一个TypeScript文件 创建...

durban
58分钟前
0
0
分享好友,朋友圈自定义分享链接无效

这个问题是微信6.5.6版本以后,修改了分享规则:分享的连接必须在公众号后台设定的js安全域名内

LM_Mike
今天
0
0
2018年7月23日课程

一、LVS-DR介绍 director分配请求到不同的real server。real server 处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。负载均衡器仅处理一半的连接,避免了...

人在艹木中
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部