计时器(Chronometer)组件可以显示从某个起始时间开始,一共过去了多长时间的文本。由于该组件继承TextView,所以它以文本的相形式显示内容。使用该组件也比较简单,通常只需要一下五个方法:
1.setBase():用于设定计时器的起始时间
2.setFormat():用于设定显示时间的格式
3.start():用于指定计时开始
4.stop():用于指定计时结束
5.setOnChronometerTickListener():用于为计时器绑定事件监听器,当计时器改变时触发该监听器。
转载请注明出处:http://blog.csdn.net/acmman/article/details/44807639
1.setBase():用于设定计时器的起始时间
2.setFormat():用于设定显示时间的格式
3.start():用于指定计时开始
4.stop():用于指定计时结束
5.setOnChronometerTickListener():用于为计时器绑定事件监听器,当计时器改变时触发该监听器。
下面用一个具体示例说明计时器的应用:
效果:
实现方法:
res/layout/main.xml:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:background="#FFFFFF"> <TextView android:text="计时器" 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" android:text="chronometer"/> </LinearLayout>
MainActivity:
package com.example.test; import android.app.Activity; import android.os.Bundle; import android.os.SystemClock; import android.widget.Chronometer; import android.widget.Chronometer.OnChronometerTickListener; import android.widget.CompoundButton.OnCheckedChangeListener; public class MainActivity extends Activity { private OnCheckedChangeListener checkBox_listener; private int year,month,day,hour,minute; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //获取计时器组件 final Chronometer ch=(Chronometer)findViewById(R.id.chronometer); //设置起始时间(elapsedRealtime是从开机到现在的毫秒数) ch.setBase(SystemClock.elapsedRealtime()); ch.setFormat("已用时间:%s");//设置时间显示格式 ch.start();//计时器启动 //添加监听器 ch.setOnChronometerTickListener(new OnChronometerTickListener() { @Override public void onChronometerTick(Chronometer chronometer) { if(SystemClock.elapsedRealtime()-ch.getBase()>=10000){ ch.stop();//停止计时器 } } }); } }
转载请注明出处:http://blog.csdn.net/acmman/article/details/44807639