計時器程式,打擊啟動,計時器開始計時,20秒之後自動停止,使用了計時器控制項
package org.crazyit.time;import android.app.Activity;import android.os.Bundle;import android.os.SystemClock;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Chronometer;import android.widget.Chronometer.OnChronometerTickListener;public class ChronometerTest extends Activity{@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);//擷取計時器組件final Chronometer ch = (Chronometer)findViewById(R.id.test);//擷取[開始] 按鈕Button start = (Button)findViewById(R.id.start);start.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View source){//設定開始計時時間ch.setBase(SystemClock.elapsedRealtime());//啟動計時器ch.start();}});//計時器監聽器ch.setOnChronometerTickListener(new OnChronometerTickListener(){@Overridepublic void onChronometerTick(Chronometer ch){//如果從開始計時到現在超過了20s。if(SystemClock.elapsedRealtime() - ch.getBase() > 20 * 1000){ch.stop();}}});}}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="center_horizontal">
<!--計時器控制項 --><Chronometerandroid:id="@+id/test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="12pt"android:textColor="#ffff0000"/><Buttonandroid:id="@+id/start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="啟動"/></LinearLayout>