Android开发中Chronometer的用法

Chronometer集成自TextView,里面有个Handler负责定时更新ui。

其计时原理很简单:通过setBase(long t)方法设置好baseTime之后,当start()时,每隔一秒,用当前SystemClock.elapsedRealtime()减baseTime,得到的逝去时间显示在TextView中。

下面来个例子,这里除了start、stop功能,还利用setBase()添加个pause功能。

     private Chronometer recordChronometer;
private long recordingTime = 0;// 记录下来的总时间 public void onRecordStart() {
recordChronometer.setBase(SystemClock.elapsedRealtime() - recordingTime);// 跳过已经记录了的时间,起到继续计时的作用
recordChronometer.start();
} public void onRecordPause() {
recordChronometer.stop();
recordingTime = SystemClock.elapsedRealtime()
- recordChronometer.getBase();// 保存这次记录了的时间
} public void onRecordStop() {
recordingTime = 0;
recordChronometer.setBase(SystemClock.elapsedRealtime());
}
上一篇:OGG学习笔记03-单向复制简单故障处理


下一篇:用JS实现实时显示系统时间