Android 開發 倒計時功能 轉載

原文地址: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():開始倒計時

 

      

相關文章
相關標籤/搜索