您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Android中如何實現倒計時的開始與停止效果”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Android中如何實現倒計時的開始與停止效果”這篇文章吧。
具體內容如下
1.聲明開啟倒計時相關方法
Handler handler = new Handler(); Runnable update_thread = new Runnable() { @Override public void run() { leftTime--; LogUtil.e("leftTime="+leftTime); if (leftTime > 0) { //倒計時效果展示 String formatLongToTimeStr = formatLongToTimeStr(leftTime); sureBtn.setText(formatLongToTimeStr); //每一秒執行一次 handler.postDelayed(this, 1000); } else {//倒計時結束 //處理業務流程 //發送消息,結束倒計時 Message message = new Message(); message.what = 1; handlerStop.sendMessage(message); } } };
2.聲明停止倒計時的方法
final Handler handlerStop = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 1: leftTime = 0; handler.removeCallbacks(update_thread); break; } super.handleMessage(msg); } };
3.頁面關閉時,銷毀定時器,重寫onDestory方法
@Override protected void onDestroy() { super.onDestroy(); leftTime = 0; handler.removeCallbacks(update_thread); }
4.開啟倒計時
handler.postDelayed(update_thread, 1000);
5.倒計時展示剩余時分秒的兩種方法
方法一 展示剩余時、分、秒:
public String formatLongToTimeStr(Long l) { int hour = 0; int minute = 0; int second = 0; second = l.intValue() ; if (second > 60) { minute = second / 60; //取整 second = second % 60; //取余 } if (minute > 60) { hour = minute / 60; minute = minute % 60; } String strtime = "剩余:"+hour+"小時"+minute+"分"+second+"秒"; return strtime; }
方法二 展示剩余天、時、分、秒:
public String formatLongToTimeStr(Long date) { long day = date / (60 * 60 * 24); long hour = (date / (60 * 60) - day * 24); long min = ((date / 60) - day * 24 * 60 - hour * 60); long s = (date - day*24*60*60 - hour*60*60 - min*60); String strtime = "剩余:"+day+"天"+hour+"小時"+min+"分"+s+"秒"; return strtime; }
6.最終效果圖
以上是“Android中如何實現倒計時的開始與停止效果”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。