Android控件开发之Chronometer(转)

时间:2021-05-30 06:48:30

(转自:http://blog.csdn.net/sun6255028/article/details/6688349)

Chronometr是一个简单的定时器,你可以给它一个开始时间,并以此定时,或者如果你不给它一个开始时间,
它将会使用你的时间通话开始。默认情况下它会显示在当前定时器的值得形式"分:秒" 或"MM:SS",
或者可以使用set(字符串)的定时器值到一个任意字符串

重要属性

 android:format    定义时间的格式如: hh:mm:ss  

重要方法

 setBase(long base)      //设置倒计时定时器
setFormat(String format) //设置显示时间的格式
start() //开始计时
stop() //停止计时
//当计时器改变时调用
setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener)

效果图:

Android控件开发之Chronometer(转)

例程main.xml源码

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"> <Chronometer
android:id="@+id/chronometer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/> <LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"> <Button
android:onClick="onStart"
android:text="开始计时"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/> <Button
android:onClick="onStop"
android:text="停止计时"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/> <Button
android:onClick="onReset"
android:text="重置"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>

Java源码

ackage com.sx.Chronometer;  

import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.widget.Chronometer; public class ChronometerActivity extends Activity
{
private Chronometer chronometer = null; /** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main); chronometer = (Chronometer) findViewById(R.id.chronometer);
chronometer.setFormat("计时:%s");
} public void onStart(View view)
{
chronometer.start();
} public void onStop(View view)
{
chronometer.stop();
} public void onReset(View view)
{
chronometer.setBase(SystemClock.elapsedRealtime());
}
}