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

发布时间 - 2026-01-11 02:55:17    点击率:

本文实例讲述了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:这里再为大家推荐几款相关的在线工具供大家参考:

在线秒表工具:
http://tools./bianmin/miaobiao

Unix时间戳(timestamp)转换工具:
http://tools./code/unixtime

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

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


# Android  # 计时器  # Chronometer  # Android计时器的三种实现方式(Chronometer、Timer、handler)  # Android Chronometer控件实现计时器函数详解  # Android计时器chronometer使用实例讲解  # 学习使用Android Chronometer计时器  # android之计时器(Chronometer)的使用以及常用的方法  # Android时分秒计时器的两种实现方法  # android计时器  # 时间计算器的实现方法  # android开发教程之间隔执行程序(android计时器)  # Android 编程下的计时器代码  # Android计时器控件Chronometer应用实例  # 进阶  # 相关内容  # 可以用  # 感兴趣  # 给大家  # 更多关于  # 常说  # 所述  # 几款  # 程序设计  # 转换工具  # 再为  # 操作技巧  # 讲述了  # View  # activity_chronometer  # layout  # initListeners  # initViews 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  C语言设计一个闪闪的圣诞树  如何在云服务器上快速搭建个人网站?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Laravel如何使用Blade模板引擎?(完整语法和示例)  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  Linux系统命令中screen命令详解  Python数据仓库与ETL构建实战_Airflow调度流程详解  如何用狗爹虚拟主机快速搭建网站?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  如何快速搭建高效可靠的建站解决方案?  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  高防服务器租用如何选择配置与防御等级?  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  java获取注册ip实例  香港服务器如何优化才能显著提升网站加载速度?  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  C++时间戳转换成日期时间的步骤和示例代码  如何快速搭建自助建站会员专属系统?  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Android仿QQ列表左滑删除操作  详解Android图表 MPAndroidChart折线图  网站制作企业,网站的banner和导航栏是指什么?  装修招标网站设计制作流程,装修招标流程?  微信小程序 五星评分(包括半颗星评分)实例代码  如何在腾讯云服务器快速搭建个人网站?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何在Ubuntu系统下快速搭建WordPress个人网站?  详解MySQL数据库的安装与密码配置  JavaScript数据类型有哪些_如何准确判断一个变量的类型  Android okhttputils现在进度显示实例代码  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Laravel如何优化应用性能?(缓存和优化命令)  Swift中switch语句区间和元组模式匹配  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  详解Huffman编码算法之Java实现  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  Laravel如何实现本地化和多语言支持?(i18n教程)  微信小程序 input输入框控件详解及实例(多种示例)  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  高端建站三要素:定制模板、企业官网与响应式设计优化  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置