现在的位置: 首页 > 综合 > 正文

Chronometer 计时器

2013年03月07日 ⁄ 综合 ⁄ 共 1450字 ⁄ 字号 评论关闭

Chronometer (计时器)是TextView 的子类,这个组件可以用1秒的时间间隔进行计时,并显示出计时结果

Chronometer 类有3个重要的方法: start、stop和setBase,其中 start 表示开始计时,stop 表示停止计时,setBase 表示重新计时,start() 和 stop() 没有参数,setBase()有一个参数,表示开始计时的基准时间, 如果要从当前时刻重新计时,可以将该参数值设为SystemClock.slapsedRealtime()。

示意图

主要代码如下

public class Main extends Activity implements OnClickListener,
OnChronometerTickListener {
private Chronometer chronometer;
private TextView tvTime;
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btnStart:    chronometer.start();
                               break;
case R.id.btnStop:    chronometer.stop();
                               break;
case R.id.btnReset:  chronometer.setBase(SystemClock.elapsedRealtime());
                               break;
    }
}
@Override
public void onChronometerTick(Chronometer chronometer)  {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
tvTime.setText("当前时间:" + sdf.format(new Date()));
}
@Override
public void onCreate(Bundle savedInstanceState)  {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tvTime = (TextView)findViewById(R.id.tvTime);
Button btnStart = (Button) findViewById(R.id.btnStart);
Button btnStop = (Button) findViewById(R.id.btnStop);
Button btnReset = (Button) findViewById(R.id.btnReset);
chronometer = (Chronometer) findViewById(R.id.chronometer);
btnStart.setOnClickListener(this);
btnStop.setOnClickListener(this);
btnReset.setOnClickListener(this);
chronometer.setOnChronometerTickListener(this);

 //   "%s"  表示计时信息

chronometer.setFormat("计时器:%s");
}
}

具体代码 请参见 ch08_chronometer
工程

抱歉!评论已关闭.