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

更多相关文章

  1. Ubuntu编译Android整个系统以及编译指定模块到模拟器
  2. Android中ListView多次调用getView
  3. 使用Android自带Ant构建Apk
  4. Android之Handler用法总结
  5. 源码解析Android中AsyncTask的工作原理
  6. 源码解析Android中AsyncTask的工作原理
  7. android listview继承BaseAdapter,自定义的适配器,getView方法执
  8. Hello World
  9. Android(安卓)SeekBar自定义使用图片和颜色显示

随机推荐

  1. Android P应用显示宽高比maxAspectRatio
  2. Android调试神器stetho使用详解和改造
  3. 【Android Developer Blog】Android Stud
  4. Android高手进阶教程(五)之----Android
  5. android 组件
  6. android音乐播放器开发_开篇
  7. android ui显示技巧和注意事项
  8. 关于android的各种disk images(看过的讲a
  9. Eclipse中使用Ant打Android包报错解决方
  10. android平台的几个编译命令----make,mmm,