<?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"
>
<Chronometer
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12pt"
android:textColor="#ffff0000"
/>
<Button
android:id="@+id/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="启动"
/>
</LinearLayout>
public class ChronometerTest extends Activity
{
@Override
public 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()
{
@Override
public void onClick(View source)
{
//设置开始计时时间
ch.setBase(SystemClock.elapsedRealtime());
//启动计时器
ch.start();
}
});
ch.setOnChronometerTickListener(new OnChronometerTickListener()
{
@Override
public void onChronometerTick(Chronometer ch)
{
//如果从开始计时到现在超过了20s。
if(SystemClock.elapsedRealtime() - ch.getBase()
> 20 * 1000)
{
ch.stop();
}
}
});
}
}
Chronometer的常用方法:
setBase(long base):设置计时器的起始时间
setFormat(String format):设置显示时间的格式
start():开始计时
stop():停止计时
setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener):为计时器绑定事件监听器,当计时器改变时触发该监听器
---------------------------------------------------------------------------------------------------------
SystemClock系统时钟类 elapsedRealtime方法是得到当前系统的真实时间