android 天时分倒计时,Android倒计时(分钟)
本文通過CountDownTimer來實(shí)現(xiàn)倒計(jì)時(shí)的功能,先上效果圖
效果圖.gif
1.核心方法就是通過onTick方法來獲取時(shí)間的改變
public void onTick(long millisUntilFinished) {
//計(jì)時(shí)過程顯示
this.millisUntilFinished = millisUntilFinished;
button.setTextColor(Color.parseColor("#FFFFFF"));
button.setClickable(false);
button.setTextSize((float) 11.5);
DecimalFormat dec = new DecimalFormat("##.##");
button.setText("0" + (int) Math.floor(millisUntilFinished / 60000) + ":" + dec.format((millisUntilFinished % 60000) / 1000) + "s");
}
其中Math.floor(millisUntilFinished / 60000)是通過毫秒數(shù)獲取分鐘,
dec.format((millisUntilFinished % 60000) / 1000)是對(duì)當(dāng)前毫秒數(shù)取余獲取出去分鐘后的秒數(shù),保留2位
以下是完整代碼
package com.shangshaban.zhaopin.utils;
import android.graphics.Color;
import android.os.CountDownTimer;
import android.widget.TextView;
import java.text.DecimalFormat;
/**
* 作者: 宋正朋 on 2016/6/18.
* 發(fā)送驗(yàn)證碼后的倒計(jì)時(shí)
*/
public class PeterTimeCountRefresh extends CountDownTimer {
private TextView button;
private long millisUntilFinished;
public PeterTimeCountRefresh(long millisInFuture, long countDownInterval, final TextView button) {
super(millisInFuture, countDownInterval);//參數(shù)依次為總時(shí)長,和計(jì)時(shí)的時(shí)間間隔,要顯示的按鈕
this.button = button;
}
@Override
public void onTick(long millisUntilFinished) {//計(jì)時(shí)過程顯示
this.millisUntilFinished = millisUntilFinished;
button.setTextColor(Color.parseColor("#FFFFFF"));
//button.setBackgroundResource(R.drawable.send_code_wait);
button.setClickable(false);
button.setTextSize((float) 11.5);
DecimalFormat dec = new DecimalFormat("##.##");
button.setText("0" + (int) Math.floor(millisUntilFinished / 60000) + ":" + dec.format((millisUntilFinished % 60000) / 1000) + "s");
}
@Override
public void onFinish() {//計(jì)時(shí)完畢時(shí)觸發(fā)
button.setText("刷新");
button.setTextColor(Color.parseColor("#FFFFFF"));
// button.setBackgroundResource(R.drawable.send_code);
button.setClickable(true);
}
}
2.在Activity中的使用
PeterTimeCountRefresh timer = new PeterTimeCountRefresh(600000, 1000, btnRefresh);
timer.start();
3.最后,在onDestroy中關(guān)掉計(jì)時(shí)器,防止內(nèi)存泄漏
@Override
protected void onDestroy() {
super.onDestroy();
if (timer != null) {
timer.cancel();
}
}
OK,搞定!
總結(jié)
以上是生活随笔為你收集整理的android 天时分倒计时,Android倒计时(分钟)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: app的appPackage、appAc
- 下一篇: RunTime Error! R6025