AndroidGUI09:Chronometer(计时器)的常用技巧

1.     在布局文件 (main.xml) 中,增加界面元素声明如下:

<? 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"

    >

 

         < Chronometer

                   android:id = "@+id/chronometer"

                   android:layout_width = "wrap_content"

                   android:layout_height = "wrap_content"

                   android:format = "Timer: %s"

         />

        

         < Button

                   android:id = "@+id/btn_start"

                   android:layout_width = "fill_parent"

                   android:layout_height = "wrap_content"

                   android:text = " 开始计时 "

         />

        

         < Button

                   android:id = "@+id/btn_stop"

                   android:layout_width = "fill_parent"

                   android:layout_height = "wrap_content"

                   android:text = " 终止计时 "

         />

        

         < Button

                   android:id = "@+id/btn_reset"

                   android:layout_width = "fill_parent"

                   android:layout_height = "wrap_content"

                   android:text = " 清零 "

         />               

</ LinearLayout >

 

2.     Activity 所对应的代码:

public class ControlChronometer extends Activity

implements

OnClickListener,

OnChronometerTickListener

{

         private Chronometer chronometer ;

         private Button btn_start ;

         private Button btn_stop ;

         private Button btn_reset ;

        

    @Override

    public void onCreate(Bundle savedInstanceState)

    {

        super .onCreate(savedInstanceState);

        setContentView(R.layout. main );

       

        chronometer = (Chronometer)findViewById(R.id. chronometer );

        chronometer .setOnChronometerTickListener( this );

       

        btn_start = (Button)findViewById(R.id. btn_start );

        btn_stop = (Button)findViewById(R.id. btn_stop );

        btn_reset = (Button)findViewById(R.id. btn_reset );

       

        btn_start .setOnClickListener( this );

        btn_stop .setOnClickListener( this );

        btn_reset .setOnClickListener( this );

    }

 

         public void onChronometerTick(Chronometer chronometer)             // 1 秒钟触发一次

         {

                   Log.e ( "Debug" , "" + System.currentTimeMillis ());

         }

 

         public void onClick(View v)

         {

                   switch (v.getId())

                   {

                   case R.id. btn_start :

                            chronometer .setBase(SystemClock.elapsedRealtime ()); // 会将 chronometer 的显示清零

                            chronometer .start();

                            break ;

                   case R.id. btn_stop :

                            chronometer .stop();                                                                   // 停止计时

                            break ;

                   case R.id. btn_reset :

                            chronometer .setBase(SystemClock.elapsedRealtime ()); // 会将 chronometer 的显示清零

                            break ;

                   }

         }

}

 

运行结果

未点击任何按钮:


点击开始计时按钮 ( 时间会一直增加 )


点击终止计时按钮 ( 时间停止,不会继续增加 )


点击清零按钮:


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值