秒表

<?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方法是得到当前系统的真实时间
posted @ 2016-03-26 15:49  沉默的羊癫疯  阅读(129)  评论(0编辑  收藏  举报