前段时间项目里要写好几个按下去状态变化的button, 因而在drawable文件夹里写了一堆文件, 想一想好烦啊, 也是浪费时间,搞了一堆文件,还要起名,真心烦!android
一气之下, 一劳永逸, 写一个控件,各类属性代码xml配置或者代码设置。所以也就有了StateButton。git
其实实现并不难,只是比较烦,一堆属性。 有兴趣的看看。github
效果图:app
有哪些功能:动画
//设置圆角度 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下谢谢!code
###你不点个赞吗?orm