Chronometer是一個簡單的定時器,你可以給它一個開始時間,並以此定時,或者如果你不給它一個開始時間,它將會使用你的時間通話開始。默認情況下它會顯示在當前定時器的值的形式“分:秒”或“H:MM:SS的”,或者可以使用的Set(字符串)格式的定時器值到一個任意字符串
1.重要屬性
android:format:定義時間的格式如:hh:mm:ss
2.重要方法
setBase(long base):設置倒計時定時器
setFormat(String format):設置顯示時間的格式。
start():開始計時
stop():停止計時
setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener):當計時器改變時調用。
3.實例
布局文件
- <?XML version="1.0" encoding="utf-8"?>
- <LinearLayout XMLns:android="http://schemas.android.com/apk/res/android" android:orIEntation="vertical" android:padding="4dip"
- android:gravity="center_horizontal"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- <Chronometer android:id="@+id/chronometer"
- android:format="Initial format: "
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0"
- android:paddingBottom="30dip"
- android:paddingTop="30dip"
- />
- <Button android:id="@+id/start"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="開始">
- <requestFocus />
- </Button>
- <Button android:id="@+id/stop"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="停止">
- </Button>
- <Button android:id="@+id/reset"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="重置">
- </Button>
- <Button android:id="@+id/set_format"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="設置格式">
- </Button>
- <Button android:id="@+id/clear_format"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="清除格式">
- </Button>
- </LinearLayout>
復制代碼
主程序
- package wjq.WidgetDemo;
- 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;
- public class ChronometerDemo extends Activity {
- private Chronometer mChronometer;
- /* (non-Javadoc)
- * @see android.app.Activity#onCreate(android.os.Bundle)
- */
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentVIEw(R.layout.chronometerpage);
- Button button;
- mChronometer = (Chronometer) findVIEwById(R.id.chronometer);
- // Watch for button clicks.
- button = (Button) findVIEwById(R.id.start);
- button.setOnClickListener(mStartListener);
- button = (Button) findVIEwById(R.id.stop);
- button.setOnClickListener(mStopListener);
- button = (Button) findVIEwById(R.id.reset);
- button.setOnClickListener(mResetListener);
- button = (Button) findVIEwById(R.id.set_format);
- button.setOnClickListener(mSetFormatListener);
- button = (Button) findVIEwById(R.id.clear_format);
- button.setOnClickListener(mClearFormatListener);
- }
- VIEw.OnClickListener mStartListener = new OnClickListener() {
- public void onClick(VIEw v) {
- mChronometer.start();
- }
- };
- VIEw.OnClickListener mStopListener = new OnClickListener() {
- public void onClick(VIEw v) {
- mChronometer.stop();
- }
- };
- VIEw.OnClickListener mResetListener = new OnClickListener() {
- public void onClick(VIEw v) {
- mChronometer.setBase(SystemClock.elapsedRealtime());
- }
- };
- VIEw.OnClickListener mSetFormatListener = new OnClickListener() {
- public void onClick(VIEw v) {
- mChronometer.setFormat("Formatted time (%s)");
- }
- };
- VIEw.OnClickListener mClearFormatListener = new OnClickListener() {
- public void onClick(VIEw v) {
- mChronometer.setFormat(null);
- }
- };
- }