Android中Chronometer控件继承自TextView,这个组件可以用1秒的时间间隔进行计时,并显示出计时结果。就是我们常说的计时器工具。
publicclassChronometerActivityextendsActivityimplementsOnClickListener {
privateChronometer mChronometer;
privateButton start, stop, reset, format, clear_format;
@Override
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chronometer);
// 初始化View widget
initViews();
// 设置监听事件
initListeners();
}
privatevoidinitListeners() {
start.setOnClickListener(this);
stop.setOnClickListener(this);
reset.setOnClickListener(this);
format.setOnClickListener(this);
clear_format.setOnClickListener(this);
}
privatevoidinitViews() {
mChronometer = (Chronometer) findViewById(R.id.chronometer);
start = (Button) findViewById(R.id.start);
stop = (Button) findViewById(R.id.stop);
reset = (Button) findViewById(R.id.reset);
format = (Button) findViewById(R.id.set_format);
clear_format = (Button) findViewById(R.id.clear_format);
}
View.OnClickListener mStartListener =newOnClickListener() {
publicvoidonClick(View v) {
mChronometer.start();
}
};
View.OnClickListener mStopListener =newOnClickListener() {
publicvoidonClick(View v) {
mChronometer.stop();
}
};
View.OnClickListener mResetListener =newOnClickListener() {
publicvoidonClick(View v) {
mChronometer.setBase(SystemClock.elapsedRealtime());
}
};
View.OnClickListener mSetFormatListener =newOnClickListener() {
publicvoidonClick(View v) {
mChronometer.setFormat("Formatted time (%s)");
}
};
View.OnClickListener mClearFormatListener =newOnClickListener() {
publicvoidonClick(View v) {
mChronometer.setFormat(null);
}
};
@Override
publicvoidonClick(View v) {
switch(v.getId()) {
caseR.id.start:
mChronometer.start();// 开始计时
break;
caseR.id.stop:
mChronometer.stop();// 暂停计时
break;
caseR.id.reset:
mChronometer.setBase(SystemClock.elapsedRealtime());// 从开机到现在的毫秒数
break;
caseR.id.set_format:
// 需要一个String变量,并使用"%s"表示计时信息
mChronometer.setFormat("时间累计:%s秒");
break;
caseR.id.clear_format:
mChronometer.setFormat(null);
break;
}
}
}
布局文件: