近些天才晓得android本身提供的计时器组件(傻了傻了)
实现计时的效果也简单,下面分两步来
一、在xml布局中添加计时器控件Chronometer
format设置格式
二、在java文件进行相关逻辑设置
// setbase(); 设置计时器的起始时间
// setFormat(); 设置显示时间的格式
// start(); 指定开始计时
// stop(); 指定停止计时
// setOnChronometerTickListener 监听器
(1)、首先给他一个长整型的时间,我们给定当前系统时间
计时器.setbase(SystemClock.elapsedRealtime())
(2)、给他设置时间格式
计时器.setformat(“%s”)
(3)、启动计时器
计时器.start
(4)、设置计时器的监听器
计时器.setOnChronometerTickListener(new On。。。)
(5)、在监听事件内做处理,如果他走了10秒,就停止(这里的秒是毫秒,所以10秒给10000)
if(SystemClock.elapsedRealtime()-计时器.getbase>=10000){
计时器.stop()
}
代码:
// 需要长整形的时间(获取当前的系统时间)
my_chronometer.setBase(SystemClock.elapsedRealtime());
// 设置格式
my_chronometer.setFormat("%s");
my_chronometer.start();
my_chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
if (SystemClock.elapsedRealtime() - my_chronometer.getBase() >= 10000) {
// 如果计时十秒后,停止计时
my_chronometer.stop();
}
}
});
效果图