Android 简单的计时器可以使用系统提供的方法Chronometer

下面是是实现的效果

Chronometer 的几个方法如下:

1  start(); 计时开始

2 stop(); 计时暂停

3 setBase 设置计时时间

4 setFormat 设置时间格式

5 setOnChronometerTickListener 计时监听

下面写一个demo

在xml 中布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".MainActivity"><Buttonandroid:id="@+id/btn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="计时开始" /><Buttonandroid:id="@+id/btn1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="计时暂停" /><Buttonandroid:id="@+id/btn2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="恢复计时" /><Buttonandroid:id="@+id/btn3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="重置计时" /><Chronometerandroid:id="@+id/chronometer"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:textColor="#FF0000"android:textSize="25sp" /></LinearLayout>

java 代码

public class MainActivity extends AppCompatActivity {private Chronometer chronometer;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);chronometer = findViewById(R.id.chronometer);findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//设置计时时间为当前时间,(方便监听计时从什么时候开发)chronometer.setBase(SystemClock.elapsedRealtime());//设置显示格式//        chronometer.setFormat("%s");// 更改时间显示格式,默认xml 写的是00:00 ,在计时前面添加文字chronometer.setFormat("计时时间:%s");//启动计时器chronometer.start();}});findViewById(R.id.btn1).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//启动计时器chronometer.stop();}});findViewById(R.id.btn2).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//启动计时器chronometer.start();}});findViewById(R.id.btn3).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//启动计时器chronometer.setText("00:00");chronometer.setBase(SystemClock.elapsedRealtime());}});//设置计时器该改变监听事件chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {@Overridepublic void onChronometerTick(Chronometer chronometer) {//如果当前时间 - 计时器的起始时间 >= 30秒if (SystemClock.elapsedRealtime() - chronometer.getBase() >= 30 * 1000) {//停止计时器chronometer.stop();}}});}}

这样就实现上面的效果

Android 计时器 Chronometer相关推荐

  1. Android中Chronometer计时器的简单使用

    场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...

  2. Chronometer控件实现的Android计时器

    本文为大家演示了如何使用Chronometer控件实现Android计时器的实例. 先贴上最终的实现效果图: Android计时器实现思路 使用Chronometer控件实现计器的操作.通过设置set ...

  3. android之计时器chronometer

    效果图: activity代码: package cn.com.chenzheng_java; import java.util.Timer; import java.util.TimerTask; ...

  4. 【Android】Chronometer计时器实现计时、停止、暂停、重置功能

    [Android]Button+Chronometer计时器实现计时.停止.暂停.重置功能! 一.简介 Chronometer的用法很简单,它支持如下用法: getBase():返回时间. setBa ...

  5. android 计时器 三种,Android计时器的三种实现方式(Chronometer、Timer、handler)

    本文实例为大家分享了Android计时器的三种方法,具体内容如下 目录: 1.借助Timer实现 2.调用handler.sendMessagedely(Message msg, long delay ...

  6. Android我自己的简易(秒表)计时器Chronometer

    Android我自己的简易(秒表)计时器Chronometer 就是一个简单的计时器 布局文件:activity_main.xml <LinearLayout xmlns:android=&qu ...

  7. UI组件之TextView及其子类(五)计时器Chronometer

    Chronometer直接继承了TextView组件,它会显示一段文本,显示从某个其实时间开始,一共过了多长时间.我们看Chronometer的源码: 可以看出计时器是直接继承了TextView,当然 ...

  8. 计时器Chronometer和时钟(AnalogClock和DigitalClock)

    计时器Chronometer和时钟(AnalogClock和DigitalClock) (1)Android提供了两个时钟组件:AnalogClock和DigitalClock,DigitalCloc ...

  9. 安卓学习第9课——计时器chronometer

    今天学习了钟表及计时器.. 我觉得AnalogClock和DigitalClock直接使用就可以.唯一需要知道的就是AnalogClock是可以修改表盘和分针时针的. 方法是android:dail及 ...

最新文章

  1. Linux~上部署.net MVC出现的问题与解决
  2. 10行代码实现目标检测
  3. mysql语句大全 新浪博客_MySQL语句入门
  4. 浅析React之事件系统(二)
  5. ubuntu dig timeout解决方法,dnscat执行失败也是这个原因
  6. 深度学习笔记第二门课 改善深层神经网络 第一周:深度学习的实践层面
  7. js中cookie的操作
  8. java script 添加控件,【更新】GLG工具包Visualization and HMI Toolkit更新至v3.6,支持Java Script...
  9. 计算机系答辩麻烦,计算机专业的你,答辩时有多卑微?
  10. idea 本地远程debug服务器项目
  11. C++ 空类,默认产生哪些成员函数
  12. 会写helloworld,不等于入门
  13. 项目模板参数化(上)
  14. 查理·芒格的合伙人李录:价值投资在中国到底适不适用?
  15. 【物体检测】基于matlab GUI形态学物体检测【含Matlab源码 945期】
  16. HTMLTestRunner测试报告美化
  17. linux weblogic 安装报错,安装weblogic linux
  18. 利用 LotusScript 实现 Microsoft Word 文档在公文流转中的公文留痕
  19. python无限制邮件群发软件_有哪些逆天的邮件群发软件推荐?
  20. netty案例,netty4.1中级拓展篇六《SpringBoot+Netty+Elasticsearch收集日志信息数据存储》

热门文章

  1. 悲催的跨平台文献管理能力
  2. 学生上课睡觉班主任怎么处理_学生上课睡觉,老师的管与不管,不是你看到的那么简单...
  3. 2022-2028年中国水基胶行业市场深度评估及前瞻研究报告
  4. 最新SOTA模型和实现代码
  5. 用动态实现扩展TVM
  6. CloudHub概述
  7. 用测试驱动开发状态机
  8. RGB-D相机视觉SLAM
  9. 2021年大数据Flink(三十一):​​​​​​​Table与SQL案例准备 依赖和​​​​​​​程序结构
  10. [C] [编程题]连通块(DFS解决)