计时器(Chronometer)
计时器(Chronometer)
常用属性:format(计时器的计时格式)
常用方法:
setBase(long base)
设置计时器的起始时间
setFormat(String format)
设置显示的 时间格式
start()
开始时间
stop()
停止时间
下面我们来看具体的代码:
1.Activity
//计时钟,计时器 public class ChronometerActivity extends Activity { private Chronometer chronometer; private Button startButton; private Button stopButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.chronometer); chronometer = (Chronometer)findViewById(R.id.chronometerId); startButton = (Button)findViewById(R.id.startButtonId); stopButton = (Button)findViewById(R.id.stopButtonId); startButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { //setFormat(String format) //设置显示时间的格式 chronometer.setBase(SystemClock.elapsedRealtime());//设置计时器,SystemClock.elapsedRealtime设定系统时钟 chronometer.start();//开始计时 startButton.setEnabled(false); } }); stopButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { chronometer.stop();//停止计时 startButton.setEnabled(true); } }); // 当计时器改变的时候调用 chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { public void onChronometerTick(Chronometer chronometer) { //10秒钟之后自动停止,当前的时间减去设定的是时间,比如这里我们设置计时器只计时10秒 if(SystemClock.elapsedRealtime()-chronometer.getBase()>10*1000){ chronometer.stop(); startButton.setEnabled(true); } } }); } }
2.xml布局文件
<?xml version="1.0" encoding="utf-8"?> <!-- 计时钟,计时器 --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="5dp" > <Chronometer android:id="@+id/chronometerId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:textSize="30sp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:orientation="horizontal" > <Button android:id="@+id/startButtonId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始" /> <Button android:id="@+id/stopButtonId" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="停止" /> </LinearLayout> </LinearLayout>
3.效果显示图