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

Android编程之计时器Chronometer简单示例

程序员文章站 2023-12-02 21:19:40
本文实例讲述了android计时器chronometer。分享给大家供大家参考,具体如下: android中chronometer控件继承自textview,这个组件可以...

本文实例讲述了android计时器chronometer。分享给大家供大家参考,具体如下:

android中chronometer控件继承自textview,这个组件可以用1秒的时间间隔进行计时,并显示出计时结果。就是我们常说的计时器工具。

public class chronometeractivity extends activity implements onclicklistener {
  private chronometer mchronometer;
  private button start, stop, reset, format, clear_format;
  @override
  protected void oncreate(bundle savedinstancestate) {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.activity_chronometer);
    // 初始化view widget
    initviews();
    // 设置监听事件
    initlisteners();
  }
  private void initlisteners() {
    start.setonclicklistener(this);
    stop.setonclicklistener(this);
    reset.setonclicklistener(this);
    format.setonclicklistener(this);
    clear_format.setonclicklistener(this);
  }
  private void initviews() {
    mchronometer = (chronometer) findviewbyid(r.id.chronometer);
    start = (button) findviewbyid(r.id.start);
    stop = (button) findviewbyid(r.id.stop);
    reset = (button) findviewbyid(r.id.reset);
    format = (button) findviewbyid(r.id.set_format);
    clear_format = (button) findviewbyid(r.id.clear_format);
  }
  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);
    }
  };
  @override
  public void onclick(view v) {
    switch (v.getid()) {
    case r.id.start:
      mchronometer.start();// 开始计时
      break;
    case r.id.stop:
      mchronometer.stop();// 暂停计时
      break;
    case r.id.reset:
      mchronometer.setbase(systemclock.elapsedrealtime());// 从开机到现在的毫秒数
      break;
    case r.id.set_format:
      // 需要一个string变量,并使用"%s"表示计时信息
      mchronometer.setformat("时间累计:%s秒");
      break;
    case r.id.clear_format:
      mchronometer.setformat(null);
      break;
    }
  }
}

布局文件:

<?xml version="1.0" encoding="utf-8"?>
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:gravity="center_horizontal"
  android:orientation="vertical"
  android:padding="10dip" >
  <chronometer
    android:id="@+id/chronometer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:format="@string/chronometer_initial_format"
    android:paddingbottom="30dip"
    android:paddingtop="30dip"
    android:textsize="15sp" />
  <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>

ps:这里再为大家推荐几款相关的在线工具供大家参考:

在线秒表工具:

unix时间戳(timestamp)转换工具:

更多关于android相关内容感兴趣的读者可查看本站专题:《android日期与时间操作技巧总结》、《android开发入门与进阶教程》、《android基本组件用法总结》、《android视图view技巧总结》、《android布局layout技巧总结》及《android控件用法总结

希望本文所述对大家android程序设计有所帮助。