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

首先写一个定义Button样式的XML文件:

新建Android XML文件,类型选Drawable,根结点选selector,文件名就buton_style吧。

程序自动给我们刚刚建的文件里加了selector结点,我们只需要在selector结点里写上三种状态时显示的背景图片(按下、获取焦点,正常)。

代码如下:

1

2

3

4

5

6

我这里获取焦点跟点击时显示的是同一张图片,必须严格照上面的顺序写,不可倒。

接下来只要在布局时写Button控件时应用到Button的Background属性即可。

1

2

3

4

android:layout_width="wrap_content" android:layout_height="wrap_content"

android:background="@drawable/button_style"

>

最终效果图:

点击时会变。

源代码下载:

Button_style (1529)

再加上一种自定义样式方法,上面的是用图片,其实我们可以直接通过定义xml文件来实现不同的样式:

在上面的源代码基础上,只需要修改button_style文件,同样三种状态分开定义:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

android:angle="270" />

android:right="10dp" android:bottom="10dp" />

android:angle="270" />

android:right="10dp" android:bottom="10dp" />

android:angle="180" />

android:right="10dp" android:bottom="10dp" />

gradient 主体渐变 startColor开始颜色,endColor结束颜色 ,angle开始渐变的角度(值只能为90的倍数,0时为左到右渐变,90时为下到上渐变,依次逆时针类推)

stroke 边框 width 边框宽度,color 边框颜色

corners 圆角 radius 半径,0为直角

padding text值的相对位置

Android自定义Button按钮显示样式

关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法. 首先android的selector是在 ...

android 自定义Button,抛弃写shape文件

标签: android 控件  自定义 2017年05月27日 17:52:13 611人阅读 评论(0) 收藏 举报 分类: 自定义View(2) 作者同类文章 X 版权声明:本文为博主原创文章 ...

iphone中button按钮显示为圆形解决

iphone中button按钮显示为圆形解决: 添加样式: -webkit-appearance:button; 如果需要为直角: border-radius:0 在源码中添加如:style=&quo ...

C#自定义Button按钮控件

C#自定义Button按钮控件 在实际项目开发中经常可以遇到.net自带控件并不一定可以满足需要,因此需要自定义开发一些新的控件,自定义控件的办法也有多种,可以自己绘制线条颜色图形等进行重绘,也可以采 ...

android自定义弹出框样式实现

前言: 做项目时,感觉Android自带的弹出框样式比较丑,很多应用都是自己做的弹出框,这里也试着自己做了一个. 废话不说先上图片: 实现机制 1.先自定义一个弹出框的样式 2.自己实现CustomD ...

Android DatePickerDialog和TimePickerDialog显示样式

可以用DatePickerDialog显示选取日期的对话框.可以设置显示的样式 1.通过构造方法设置显示样式. 可以通过DatePickerDialog(Context context, int th ...

Android 触发Button按钮事件的三种方式

1.新创建一个类 2.使用内部类 3.当多个button按钮时,为简化代码而创建的实例listener 贴代码: MainActivity.Java  文件: package com.android. ...

Android studio button 按钮 四种绑定事件的方法

package com.geli_2.sujie.sujiegeili2testbutton; import android.os.Bundle; import android.support.v7. ...

5.Qt自定义Button按钮的实现

 1.编写自定义按钮 MyButton.h #ifndef MYBUTTON_H #define MYBUTTON_H #include /** * @brief ...

随机推荐

关于java的递归写法,经典的Fibonacci数的问题

经典的Fibonacci数的问题 主要想展示一下迭代与递归,以及尾递归的三种写法,以及他们各自的时间性能. public class Fibonacci { /*迭代*/ public static ...

OD20

查壳   发现没有壳          那就载入OD 在命令中在API函数下下个断点 然后程序跑起来 ,   点CHECK  断下来了 在动态链接库断下来了      我们alt+F9   回到用户界 ...

DirectXMath

DirectXMath 是Windows平台下的数学库,DirectXMath 库基于 XNA Math C++ SIMD library version 2.04 .   DirectXMath 库 ...

manacher浅析

manacher算法的输入是一个字符串,可以计算出以每个字符为中心的最长回文子串的半径.为了避免讨论奇数偶数,将原串的每两个字母之间以及前后各加一个特殊字母,比如'#',那么对于abcbb就变成了 # ...

C# windows 服务编写及安装

最近项目中用到window服务程序,以前没接触过,比较陌生,花了两天的时间学习了下,写了个简单的服务,但在制作安装程序的时候,参照网上很多资料,却都制作不成功,可能是开发环境或项目配置的不同,这里 ...

boost.ASIO-可能是下一代C++标准的网络库

曾几何时,Boost中有一个Socket库,但后来没有了下文,C++社区一直在翘首盼望一个标准网络库的出现,网络上开源的网络库也有不少,例如Apache Portable Runtime就是比较著名的 ...

仿qq的侧拉菜单效果

自定义控件 import android.animation.ArgbEvaluator; import android.animation.FloatEvaluator; import androi ...

Twitter数据抓取的方法(三)

Scraping Tweets Directly from Twitters Search – Update Published August 1, 2015 Sorry for my delayed ...

python离线安装包

一.用download命令离线下载包  *.whl , 这个方法好像python3.7以上才能用 那么我的requirement.txt内容就是: django==1.8.11 simplejson= ...

【openwrt+arduion】案例

http://www.geek-workshop.com/thread-4950-1-1.html http://www.guokr.com/article/319356/ http://www.gu ...

android 自定义控件 焦点,Android 自定义Button按钮显示样式(正常、按下、获取焦点)...相关推荐

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

    2019独角兽企业重金招聘Python工程师标准>>> 现在的用户对APP的外观看得很重要,如果APP内所有元件都用Android默认样式写,估计下面评论里就有一堆在骂UI丑的.今天 ...

  2. android 自定义控件 焦点,android中设置控件获得焦点

    android中,要使控件获得焦点,需要先setFocus,再requestFocus. 以Button为例: btn.setFocusable(true); btn.setFocusableInTo ...

  3. Android编程实现长按Button按钮连续响应功能示例

    这篇文章主要介绍了Android编程实现长按Button按钮连续响应功能,涉及Android自定义按钮及事件响应操作相关技巧,需要的朋友可以参考下 本文实例讲述了Android编程实现长按Button ...

  4. 纯CSS自定义button按钮的点击特效

    纯css自定义button按钮的点击特效,实现背景变化 效果图如下: 代码如下: <!DOCTYPE html> <html> <head><meta cha ...

  5. [css] 如何自定义radio按钮的样式

    [css] 如何自定义radio按钮的样式 选择器 input[type="radio"]现在几乎不用原生的radio,一是原生样式改成设计稿的样子太浪费时间,二是不同浏览器对于原 ...

  6. 去掉button按钮原有样式

    微信小程序--去掉button按钮原有样式 问题: 为什么要去掉其原有样式呢? 是因为不去掉,就修改不了自己想要的样式了 .item button{width: 100%;background-col ...

  7. Android AOSP LatinIME输入法自定义图片按钮

    文章目录 前言 一.引进图片按钮 二.添加映射 三.attrs.xml 四.KeyboardIconsSet.java 五.Constants.java 六.KeyboardCodesSet.java ...

  8. Android 开发实战:点击按钮显示一个带有“取消”和“确定”两个选项的对话框

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=1313 操作环境 Windows 10 Android Developer Tools (Build: v22.2. ...

  9. android 自定义控件央视,Android自定义ViewGroup之第一次接触ViewGroup

    整理总结自鸿洋的博客:http://blog.csdn.net/lmj623565791/article/details/38339817/ 一.com.cctvjiatao.customviewgr ...

最新文章

  1. Camelyon Challenge: 癌症细胞区域检测竞赛
  2. IDEA Scala自动生成变量类型设置教程
  3. 北京内推 | 微软亚洲互联网工程院招聘NLP方向研究实习生(可远程)
  4. Linux 命令之 chown -- 用来变更文件或目录的拥有者或所属群组
  5. 坐标不显示_Simpack不显示坐标轴方向的解决方法
  6. OC-NSFileManager
  7. 蓝牙通信-打开和关闭蓝牙设备
  8. oracle不同值,Oracle一张表中实现对一个字段不同值和总值的统计(多个count)
  9. 网络之华为USG6000防火墙日志清理
  10. 如何进行信息化项目需求调研
  11. 程序员好用的 Markdown 笔记软件
  12. 合成孔径 saft matlab,合成孔径聚焦超声成像研究
  13. php商城添加加入购物车,php添加购物车,php购物车
  14. 国内工业软件排行榜、市场份额与主要玩家
  15. 深入Java虚拟机(五)垃圾收集
  16. 《Linux防火墙(第4版)》——1.5 主机名和IP地址
  17. gnuplot入门教程
  18. 《和码中文》第一册词组(共25课)
  19. 英文投稿过程中的十种状态
  20. 新冠核酸快速检测系统

热门文章

  1. 作为一个软件开发公司如何让自己的技术落地应用产生价值呢?
  2. jQuery迷你帮助查找功能
  3. 第十三周编程总结--助教
  4. AR让明信片重获新生,旅游党的新姿势
  5. 设置导航条上的主题一颜色
  6. Linux系统基础(二)
  7. CentOS6离线bash漏洞—再修复方法
  8. [图论]最短路计数(spfa)
  9. HTTP性能测试工具wrk安装及使用
  10. Debug程序的使用