Android倒計時的開始與停止 剩余時分秒的展示
本文實例為大家分享了Android倒計時的開始與停止,剩余時分秒的展示效果,供大家參考,具體內(nèi)容如下
1.聲明開啟倒計時相關(guān)方法
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); //每一秒執(zhí)行一次 handler.postDelayed(this, 1000); } else {//倒計時結(jié)束 //處理業(yè)務(wù)流程 //發(fā)送消息,結(jié)束倒計時 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.頁面關(guān)閉時,銷毀定時器,重寫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.最終效果圖
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
android中選中菜單的顯示跳轉(zhuǎn)和隱式跳轉(zhuǎn)的實例介紹
android中選中菜單的顯示跳轉(zhuǎn)和隱式跳轉(zhuǎn)的實例介紹,需要的朋友可以參考一下2013-05-05Android pdf viewer在android studio應(yīng)用問題說明詳解
這篇文章主要介紹了Android pdf viewer在android studio應(yīng)用問題說明的相關(guān)資料,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2016-09-09Android文件存儲SharedPreferences源碼解析
SharedPreferences是安卓平臺上一個輕量級的存儲類,用來保存應(yīng)用的一些常用配置,比如Activity狀態(tài),Activity暫停時,將此activity的狀態(tài)保存到SharedPereferences中;當Activity重載,系統(tǒng)回調(diào)方法onSaveInstanceState時,再從SharedPreferences中將值取出2022-08-08Flutter手機權(quán)限檢查與申請實現(xiàn)方法詳解
使用flutter進行app開發(fā),一定會用到手機的部分權(quán)限,包括通知推送、定位、相冊、存儲、相機、麥克風等。而權(quán)限的檢查和獲取,最受歡迎的就是通過permission_handler這個插件來實現(xiàn)2022-11-11老生常談ProgressBar、ProgessDialog的用法
下面小編就為大家?guī)硪黄仙U凱rogressBar、ProgessDialog的用法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07詳解Android中Intent傳遞對象給Activity的方法
這篇文章主要介紹了Android中Intent傳遞對象給Activity的方法,文章中對Activity的生命周期等知識先作了簡要的介紹,需要的朋友可以參考下2016-04-04