关于CountDownView
这里就不做介绍了,总之是一个优秀的倒计时开源控件,用法十分简单,具体大家可以到GitHub上了解
https://github.com/iwgang/CountdownView
遇到的问题
最近公司有在用CountDownView这个控件,来做秒杀倒计时。我本以为这种秒杀不会超过24小时,但问了产品之后确实有超过24小时的情况,并且超过的不能显示天数,也要继续归到小时上。
其实CountDownView本身提供了这样的属性来实现
app:isShowDay="false"//设置不显示时间
app:isConvertDaysToHours="true"//超过一天转换为小时
但是必须要隐藏掉背景色才能正常显示,否则是不起作用的,也就是再加上这条属性
app:isHideTimeBackground="true"//隐藏背景色
如果你的需求不需要背景色,这三条属性就能满足,但是如果还需要背景色,就只能通过改源码来实现了。
其实也很简单,首先依赖CountDownView的library,找到BaseCountDown这个类,搜索isConvertDaysToHours,也就是天数转化小时的方法,发现这样一行代码