文档章节

你讨厌写selector背景了吗?手摸手教你封装个控件!

 起伏
发布于 2016/11/13 14:25
字数 414
阅读 1K
收藏 31

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

前段时间项目里要写好几个按下去状态变化的button, 于是在drawable文件夹里写了一堆文件, 想想好烦啊, 也是浪费时间,搞了一堆文件,还要起名,真心烦!

一气之下, 一劳永逸, 写一个控件,各种属性代码xml配置或者代码设置。因此也就有了StateButton。

其实实现并不难,只是比较烦,一堆属性。 有兴趣的看看。

效果图:

image.png

stateButton.gif

有哪些功能:

 //设置圆角度
 app:radius="5dp"

//设置左右为半圆, 不用计算radius
 app:round="true"

//设置背景切换动画时长
 app:animationDuration="200"

//设置dash            
 app:strokeDashGap="2dp"

//设置dash width
 app:strokeDashWidth="5dp"

//设置正常显示的边框宽度
 app:normalStrokeWidth="2dp"

//设置按下时显示的边框宽度
 app:pressedStrokeWidth="2dp"

//设置不可用时(enable = false)显示的边框宽度
 app:unableStrokeWidth="2dp"

//设置正常显示的边框颜色           
 app:normalStrokeColor="@android:color/white"

//设置按下时显示的边框颜色
 app:pressedStrokeColor="@android:color/white"

//设置不可用时(enable = false)显示的边框颜色
 app:unableStrokeColor="@android:color/white"

 //设置正常显示的文字颜色
 app:normalTextColor="@android:color/white"

//设置按下状态显示的文字颜色
 app:pressedTextColor="@android:color/white"

//设置不可用时(enable = false)显示的文字颜色
 app:unableTextColor="@android:color/white"

//设置正常显示的背景颜色            
 app:normalBackgroundColor="@color/colorPrimaryDark"

//设置按下状态显示的背景颜色
 app:pressedBackgroundColor="@color/colorPrimaryDark"

//设置不可用时(enable = false)背景颜色
 app:unableBackgroundColor="@color/colorPrimaryDark"

https://github.com/niniloveyou/StateButton #####感觉还可以的star下谢谢!

201609272123578195.gif

###你不点个赞吗?

© 著作权归作者所有

粉丝 0
博文 1
码字总数 414
作品 0
徐州
私信 提问
加载中

评论(0)

Android-UI控件

手摸手教你写 Slack 的 Loading 动画 四步实现: 画布旋转及线条变化动画(Canvas Rotate Line Change) 画布旋转动画(Canvas Rotate) 画布旋转圆圈变化动画(Canvas Rotate Circle Change...

掘金官方
2018/01/12
0
0
手摸手教你微信小程序开发之自定义组件

前言 相信大家在开发小程序时会遇到某个功能多次使用的情况,比如弹出框。这个时候大家首先想到的是组件化开发,就是把弹出框封装成一个组件,然后哪里使用哪里就调用,对,看来大家都是有思...

osc_ew2xy3cq
2018/03/16
1
0
手摸手-100行代码实现一个功能完善的图片懒加载

本文相对比较初级,为了节约时间,请小神及其以上级别的同学直接忽略。 有同学可能会问:那么多第三方库,为什么要自己动手写呢。景科同学的想法很简单,因为本人目前还是一个前端小白,只有...

景科同学
2018/01/22
0
0
网络游戏开发-客户端3(封装按钮按下效果和一个模态对话框)

因为本项目使用的是EUI,EUI提供了一个Panel和Button控件,我大致看了一下Panel控件,感觉不太喜欢。我个人更喜欢模态框的那种风格,可能是因为我本质工作是做web开发的吧。。。 EButton控件...

osc_hp9d5zg0
2018/04/20
2
0
Spring Boot2(十五):Shiro记住我rememberMe、验证码Kaptcha

接着上次学习的《Spring Boot2(十二):手摸手教你搭建Shiro安全框架》,实现了Shiro的认证和授权。今天继续在这个基础上学习Shiro实现功能记住我rememberMe,以及登录时验证码Kaptcha。 Reme...

osc_ai011l20
2019/07/26
9
0

没有更多内容

加载失败,请刷新页面

加载更多

总结:Spring boot熔断

一、介绍 1、熔断的目的:是为了保证服务高可用,不能因为系统中的一个小服务不可用,从而导致整个系统崩溃。 2、熔断的原理:对于使用相关注解的类或者方法,系统会监控其错误,如果多次出现...

浮躁的码农
30分钟前
16
0
抽象工厂

1. 介绍 提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式,是工厂方法模式的升级版,在有多个业务品种、业务分类时,...

steven-黄笑笑
35分钟前
22
0
Autoruns显示windows系统所有启动项

如题,可以显示所有启动项,然后把不需要的启动项都取消勾选即可。而对于“服务”项,建议不要在里面去掉勾选,因为这样会禁止服务,容易出错。我通常都会打开电脑的”服务“,按启动类型排序...

ethanleellj
36分钟前
19
0
多线程基础学习

线程和进程有区别? 进程=加载上下文+执行程序+保存上下文 进程属于资源分配的最小单位,线程属于执行任务的最小单位。 线程6种状态: 1、New 尚未启动的线程的线程状态。 2、Runnable 可运行...

javazyw
今天
30
0
英文对“ Big O”符号的解释是什么? - What is a plain English explanation of “Big O” notation?

问题: 我希望尽可能少用正式的定义和简单的数学方法。 解决方案: 参考一: https://stackoom.com/question/22l0/英文对-Big-O-符号的解释是什么 参考二: https://oldbug.net/q/22l0/What...

javail
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部