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);