轮循器/倒计时
轮循器属于项目中常见需求, 本工具支持以下特性
- 正计时
- 倒计时
- 计数器
- 支持开始/停止/暂停/继续/重置/切换开关
interval = Interval(100, 1, TimeUnit.SECONDS).life(this) // 自定义计数器个数的轮循器
interval = Interval(1, TimeUnit.SECONDS) // 每秒回调一次, 不会自动结束
// 倒计时轮循器, 当[start]]比[end]值大, 且end不等于-1时, 即为倒计时
interval = Interval(1, 1, TimeUnit.SECONDS, 5).life(this)
监听轮循器
interval.subscribe {
tvFragment.text = it.toString()
}.finish {
tvFragment.text = "计时完成" // 最后一位数时同时回调 subscribe/finish
}.start()
Interval函数 | 描述 |
---|---|
start | 开始轮循器 |
stop | 停止 |
cancel | 取消, 区别于stop, 此函数执行后并不会回调finish |
pause | 暂停 |
resume | 继续 |
reset | 重置 |
switch | 切换开关 |
subscribe | 每次计时都会执行该回调 |
finish | 当计时器完成时执行该回调, 执行stop后也会回调 |
自动取消(感知生命周期)
interval.life(this).subscribe { // 添加一个life函数即可
tvFragment.text = it.toString()
}