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

前段时间项目里要写好几个按下去状态变化的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

你不点个赞吗?

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值