1.CountDownTimer
該控件直接new就可以,可以使用EditText或者Button來顯示
1.聲明控件類型
private CountDownTimer timer;
2. 具體實例化
time_btn = findViewById(R.id.time_btn);
timer = new CountDownTimer(60000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
time_btn.setText(formatTime(millisUntilFinished));
}
@Override
public void onFinish() {
time_btn.setEnabled(true);
time_btn.setText("00:00");
}
};
time_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
timer.start();
}
});
//顯示格式化
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;
}
}
2.Chronometer
本身是一個計時器,因此自帶的開始停止都很方便使用,設計倒計時,只需要將基準值設置爲相應的倒計時時長即可,即當前值+設置的時長。默認顯示可能帶負號,在UI上直接設置countdown屬性爲true即可
//默認25分鐘倒計時
private long set_time=1500000;
private Chronometer countDown;
coutDown=findViewbyID(R.id.countDown);
countDown.setBase(SystemClock.elapsedRealtime()+set_time);