Chronometer 是android 一个原生计时器控件,但是使用的人比较少吧。所以我以前也不不知道。但是
这个控件就可以当一个开源库。省掉了很多代码。
使用:
1.xml 布局:
<Chronometer android:id="@+id/chronometer" android:layout_centerVertical="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@color/colorPrimary" android:textSize="16dp" android:textStyle="bold" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:layout_toLeftOf="@+id/delete" android:layout_toStartOf="@+id/delete" />
2.
chronometer.start();//开始计时
chronometer.stop();//结束计时
recordChronometer.setBase(SystemClock.elapsedRealtime() - recordingTime);// 设置起始时间
//为计时器绑定监听事件,这里监听逻辑,也可以改变计时器显示 ,例如显示为 HH:mm:ss ch.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { @Override public void onChronometerTick(Chronometer ch) {
miss++;
ch.setText(FormatMiss(miss));
} });
// 将秒转化成小时分钟秒
public String FormatMiss(int miss){
String hh=miss/3600>9?miss/3600+"":"0"+miss/3600;
String mm=(miss % 3600)/60>9?(miss % 3600)/60+"":"0"+(miss % 3600)/60;
String ss=(miss % 3600) % 60>9?(miss % 3600) % 60+"":"0"+(miss % 3600) % 60;
return hh+":"+mm+":"+ss;
}
最后注意,android 8.0以上有bug,具体看下面这篇文章: