Android:CountDownTimer 实现倒计时功能
16lz
2021-12-04
Android:CountDownTimer 实现倒计时
标签(空格分隔): Android,CountDown,CountDownTimer
Step00. 官方
CountDownTimer:定时执行在一段倒计时,在倒计时执行过程中会在固定间隔时间得到具体的通知。
官方文档:https://developer.android.com/reference/android/os/CountDownTimer.html
中文翻译:http://www.cnblogs.com/over140/archive/2011/12/20/2294220.html
Step01.简单的使用
使用:我们设置一个 30 秒的倒计时,在一个 textview 中显示具体剩余时间。当执行结束时。显示“完成”。
CountDownTimer countDownTimer = new CountDownTimer(30*1000, 1000) { public void onTick(long millisUntilFinished) { mTextField.setText("剩余时间: " + millisUntilFinished / 1000 + "秒"); } public void onFinish() { mTextField.setText("完成!"); } }
执行: countDownTimer.start();
取消: countDownTimer.cancel();
当执行取消后(cancel),再次启动(start)会重新开始倒计时。而不是上次取消时的剩余时间。
Step02. 暂停(Pause)
首先是需要重写初始化
//millisInFuture 倒计时时长单位毫秒public void initCountDownTimer(long millisInFuture) { mCountDownTimer = new CountDownTimer(millisInFuture, 1000) { @Override public void onTick(long millisUntilFinished) { curTime = millisUntilFinished;//当前剩余时间; mTimerTv.setText(TimeTools.getCountTimeByLong(millisUntilFinished)); } public void onFinish() { mTimerTv.setText("完成!"); } };}
暂停或者是继续播放
//isPause 暂停标记,默认为false.if (!isPause) { isPause = true; mCountDownTimer.cancel();} else {//继续播放 if (curTime != 0) { //将上次当前剩余时间作为新的时长 initCountDownTimer(curTime); mCountDownTimer.start(); isPause = false; }}
step03.源码
Github Code
更多相关文章
- Ubuntu编译Android整个系统以及编译指定模块到模拟器
- Android中ListView多次调用getView
- 使用Android自带Ant构建Apk
- Android之Handler用法总结
- 源码解析Android中AsyncTask的工作原理
- 源码解析Android中AsyncTask的工作原理
- android listview继承BaseAdapter,自定义的适配器,getView方法执
- Hello World
- Android(安卓)SeekBar自定义使用图片和颜色显示