简介
安卓原生计时器控件,默格式00:00(MM:SS)
属性
格式(官方提供两方式)
- 布局
android:format
设
- 代码
setFormat()
设
方法
法一
Chronometer mChronometer;
mChronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer cArg) {
long time =System.currentTimeMillis() - cArg.getBase();
Date d = new Date(time);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss", Locale.US);
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
timeView.setText(sdf.format(d));
}
});
timeView.setBase(System.currentTimeMillis());
timeView.start();
法二
Chronometer mChronometer;
mChronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer cArg) {
long time =System.currentTimeMillis() - cArg.getBase();
int h = (int) (time / 3600000);
int m = (int) (time - h * 3600000) / 60000;
int s = (int) (time - h * 3600000 - m * 60000) / 1000;
String hh = h < 10 ? "0" + h : h + "";
String mm = m < 10 ? "0" + m : m + "";
String ss = s < 10 ? "0" + s : s + "";
String timeFormat = hh + ":" + mm + ":" + ss;
meetingView.updateTime(timeFormat);
timeView.setText(sdf.format(d));
}
});
timeView.setBase(System.currentTimeMillis());
timeView.start();
法三
循环隔一秒操作
Chronometer mChronometer;
mChronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
@Override
public void onChronometerTick(Chronometer chronometer) {
if (mRecordPromptCount == 0) {
textView.setText(getString(R.string.record_in_progress) + ".");
} else if (mRecordPromptCount == 1) {
textView.setText(getString(R.string.record_in_progress) + "..");
} else if (mRecordPromptCount == 2) {
textView.setText(getString(R.string.record_in_progress) + "...");
mRecordPromptCount = -1;
}
mRecordPromptCount++;
}
});
使用
布局
<Chronometer
android:id="@+id/cRecordPopTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="@dimen/d24"
android:fontFamily="sans-serif-light"
android:textColor="@color/fontHint"
android:textSize="@dimen/s13"
tools:targetApi="jelly_bean" />
主代码
// timer zero
cRecordPopTime.setBase(SystemClock.elapsedRealtime());
// start Chronometer
cRecordPopTime.start();
// stop Chronometer
cRecordPopTime.stop();
// timer zero
cRecordPopTime.setBase(SystemClock.elapsedRealtime());