Android控件Chronometer定时器的实现方法
程序员文章站
2024-03-01 15:17:58
chronometer是一个简单的定时器,你可以给它一个开始时间,并以此定时,或者如果你不给它一个开始时间,它将会使用你的时间通话开始。默认情况下它会显示在当前定时器的值的...
chronometer是一个简单的定时器,你可以给它一个开始时间,并以此定时,或者如果你不给它一个开始时间,它将会使用你的时间通话开始。默认情况下它会显示在当前定时器的值的形式“分:秒”或“h:mm:ss的”,或者可以使用的set(字符串)格式的定时器值到一个任意字符串
1.重要属性
android:format:定义时间的格式如:hh:mm:ss
2.重要方法
setbase(long base):设置倒计时定时器
setformat(string format):设置显示时间的格式。
start():开始计时
stop() :停止计时
setonchronometerticklistener(chronometer.onchronometerticklistener listener):当计时器改变时调用。
3.实例
布局文件
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:padding="4dip" android:gravity="center_horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <chronometer android:id="@+id/chronometer" android:format="initial format: " android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" android:paddingbottom="30dip" android:paddingtop="30dip" /> <button android:id="@+id/start" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始"> <requestfocus /> </button> <button android:id="@+id/stop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="停止"> </button> <button android:id="@+id/reset" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="重置"> </button> <button android:id="@+id/set_format" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="设置格式"> </button> <button android:id="@+id/clear_format" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="清除格式"> </button> </linearlayout>
主程序:
package wjq.widgetdemo; import android.app.activity; import android.os.bundle; import android.os.systemclock; import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.chronometer; public class chronometerdemo extends activity { private chronometer mchronometer; /* (non-javadoc) * @see android.app.activity#oncreate(android.os.bundle) */ @override protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.chronometerpage); button button; mchronometer = (chronometer) findviewbyid(r.id.chronometer); // watch for button clicks. button = (button) findviewbyid(r.id.start); button.setonclicklistener(mstartlistener); button = (button) findviewbyid(r.id.stop); button.setonclicklistener(mstoplistener); button = (button) findviewbyid(r.id.reset); button.setonclicklistener(mresetlistener); button = (button) findviewbyid(r.id.set_format); button.setonclicklistener(msetformatlistener); button = (button) findviewbyid(r.id.clear_format); button.setonclicklistener(mclearformatlistener); } view.onclicklistener mstartlistener = new onclicklistener() { public void onclick(view v) { mchronometer.start(); } }; view.onclicklistener mstoplistener = new onclicklistener() { public void onclick(view v) { mchronometer.stop(); } }; view.onclicklistener mresetlistener = new onclicklistener() { public void onclick(view v) { mchronometer.setbase(systemclock.elapsedrealtime()); } }; view.onclicklistener msetformatlistener = new onclicklistener() { public void onclick(view v) { mchronometer.setformat("formatted time (%s)"); } }; view.onclicklistener mclearformatlistener = new onclicklistener() { public void onclick(view v) { mchronometer.setformat(null); } }; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。