原文地址:https://www.cnblogs.com/xch-yang/p/7920419.htmlhtml
Android爲咱們封裝好了一個抽象類CountDownTimer,能夠實現計時器功能:ide
/** * 倒數計時器 */ private CountDownTimer timer = new CountDownTimer(15 * 60 * 1000, 1000) {
Android爲咱們封裝好了一個抽象類CountDownTimer,能夠實現計時器功能:spa
/** * 倒數計時器 */ private CountDownTimer timer = new CountDownTimer(15 * 60 * 1000, 1000) { /** * 固定間隔被調用,就是每隔countDownInterval會回調一次方法onTick * @param millisUntilFinished */ @Override public void onTick(long millisUntilFinished) { tv_remaining_time.setText(formatTime(millisUntilFinished)); } /** * 倒計時完成時被調用 */ @Override public void onFinish() { tv_remaining_time.setText("00:00"); } }; /** * 將毫秒轉化爲 分鐘:秒 的格式 * * @param millisecond 毫秒 * @return */ public String formatTime(long millisecond) { int minute;//分鐘 int second;//秒數 minute = (int) ((millisecond / 1000) / 60); second = (int) ((millisecond / 1000) % 60); if (minute < 10) { if (second < 10) { return "0" + minute + ":" + "0" + second; } else { return "0" + minute + ":" + second; } }else { if (second < 10) { return minute + ":" + "0" + second; } else { return minute + ":" + second; } } } /** * 取消倒計時 */ public void timerCancel() { timer.cancel(); } /** * 開始倒計時 */ public void timerStart() { timer.start(); }
構造方法裏須要傳入兩個參數進去:code
參數1:倒計時的總時間,單位msorm
參數2:倒計時的時間間隔,單位mshtm
方法:blog
cancel():取消倒計時rem
onFinish():當前任務完成的時候回調get
onTick(long millisUnitilFinished):當前任務每完成一次倒計時間隔時間時回調it
start():開始倒計時
/** * 固定間隔被調用,就是每隔countDownInterval會回調一次方法onTick * @param millisUntilFinished */ @Override public void onTick(long millisUntilFinished) { tv_remaining_time.setText(formatTime(millisUntilFinished)); } /** * 倒計時完成時被調用 */ @Override public void onFinish() { tv_remaining_time.setText("00:00"); } }; /** * 將毫秒轉化爲 分鐘:秒 的格式 * * @param millisecond 毫秒 * @return */ public String formatTime(long millisecond) { int minute;//分鐘 int second;//秒數 minute = (int) ((millisecond / 1000) / 60); second = (int) ((millisecond / 1000) % 60); if (minute < 10) { if (second < 10) { return "0" + minute + ":" + "0" + second; } else { return "0" + minute + ":" + second; } }else { if (second < 10) { return minute + ":" + "0" + second; } else { return minute + ":" + second; } } } /** * 取消倒計時 */ public void timerCancel() { timer.cancel(); } /** * 開始倒計時 */ public void timerStart() { timer.start(); }
構造方法裏須要傳入兩個參數進去:
參數1:倒計時的總時間,單位ms
參數2:倒計時的時間間隔,單位ms
方法:
cancel():取消倒計時
onFinish():當前任務完成的時候回調
onTick(long millisUnitilFinished):當前任務每完成一次倒計時間隔時間時回調
start():開始倒計時