欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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);
 }
 };
}

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。