直播系统app源码,自定义可以暂停的倒计时
直播系统app源码,自定义可以暂停的倒计时
用到的抽象类:
public abstract class TimerListener {
/**
* 当倒计时开始
*/
public void onStart(){
}
/**
* 当倒计时恢复暂停
*/
public void onResume(){
}
/**
* 当倒计时暂停
*/
public void onPause(){
}
/**
* 当倒计时结束
*/
public void onFinish(){
}
/**
* 当倒计时取消
*/
public void onCancel(){
}
/**倒计时进行中
* @param millisUntilFinished 剩余时间
*/
public abstract void onTick(long millisUntilFinished);
}
使用示例
使用比较简单,这里做个简单的 demo。
class CountDownActivity: AppCompatActivity(R.layout.activity_countdown) {
//初始化倒计时相关
private val mLTime by lazy {
LCountDownTimer(9*1000 + 100, 1000)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
btnCountdownStart.setOnClickListener {
mLTime.start()
}
btnCountdownPause.setOnClickListener {
mLTime.pause()
}
btnCountdownResume.setOnClickListener {
mLTime.resume()
}
btnCountdownCancel.setOnClickListener {
mLTime.cancel()
}
btnCountdownStart2.setOnClickListener {
mLTime.start()
}
//时间的监听
mLTime.setCountDownListener(object :TimerListener(){
override fun onTick(millisUntilFinished: Long) {
Log.e(TAG, "onTick: $millisUntilFinished");
tvCountDownTime.text = "倒计时: ${millisUntilFinished/1000}"
}
override fun onStart() {
super.onStart()
Log.e(TAG, "onStart: ");
}
override fun onResume() {
super.onResume()
Log.e(TAG, "onResume: ");
}
override fun onPause() {
super.onPause()
Log.e(TAG, "onPause: ");
}
override fun onFinish() {
super.onFinish()
Log.e(TAG, "onFinish: ");
tvCountDownTime.text = "倒计时结束"
}
override fun onCancel() {
super.onCancel()
Log.e(TAG, "onCancel: ");
tvCountDownTime.text = "倒计时取消"
}
})
}
override fun onDestroy() {
super.onDestroy()
mLTime.cancel()
}
}
以上就是 直播系统app源码,自定义可以暂停的倒计时,更多内容欢迎关注之后的文章