【Android】使用Chronometer组件实现一个简单的计时器

Chronometer类可以实现一个简单的计时器。

可以通过elapsedRealtime()来给它一个基准时间,并从该时间开始计数。

如果你不给它基准时间,它将使用你调用start()时的时间。

默认它将显示当前"MM:SS"或 "H:MM:SS"格式的时间,或者你能通过setFormat(String)设置一个任意字符串来格式化显示计时器显示的时间。


Activity

package com.app.test01;

import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Chronometer;
/*
 *	Chronometer实现一个简单的计时器。
 * */
public class ChronometerDemo extends Activity {
	private Chronometer chronometer;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_chronometer);
		chronometer = (Chronometer) findViewById(R.id.chronometer);
		//setFormat设置用于显示的格式化字符串。
		//格式化字符串:如果指定,计时器将根据这个字符串来显示,替换字符串中第一个“%s”为当前"MM:SS"或 "H:MM:SS"格式的时间显示。
		chronometer.setFormat("计时:%s");
	}
	/** 开始计时*/
	public void onStart(View view) {
		chronometer.start();
	}
	/** 停止计时*/
	public void onStop(View view) {
		chronometer.stop();
	}
	/** 重置*/
	public void onReset(View view) {
		//setBase 设置基准时间
		//设置参数base为SystemClock.elapsedRealtime()即表示从当前时间开始重新计时)。
		chronometer.setBase(SystemClock.elapsedRealtime());
	}

}

XML布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <Chronometer
        android:id="@+id/chronometer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal" >
    </Chronometer>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="onStart"
            android:text="开始计时" >
        </Button>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="onStop"
            android:text="停止计时" >
        </Button>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="onReset"
            android:text="重置" >
        </Button>
    </LinearLayout>

</LinearLayout>

效果图

【Android】使用Chronometer组件实现一个简单的计时器_第1张图片

你可能感兴趣的:(android,组件,Chronometer,计数器)