转载:https://www.cnblogs.com/starluo/p/4999746.html

安卓提供了一个计时器组件:Chronometer,该组件extends TextView,因此都会显示一段文本,但是它显示的时间是从某个起始时间开始过去了多少时间,它只提供了android:format一个属性用于指定计时器的计数格式。

Chronometer的用法很简单,它支持如下用法:

getBase():返回时间。

setBase(long base):设置计时器的起始时间。

start():开始计时。

stop():停止计时。

setFormat(String format):设置显示时间的格式。

setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener):为计时器绑定监听事件。

下面程序设计了一个一分钟的计时器。

首先:在XML文件中定义一个Chronomete和Button组件:

安卓提供了一个计时器组件:Chronometer,该组件extends TextView,因此都会显示一段文本,但是它显示的时间是从某个起始时间开始过去了多少时间,它只提供了android:format一个属性用于指定计时器的计数格式。

Chronometer的用法很简单,它支持如下用法:

getBase():返回时间。

setBase(long base):设置计时器的起始时间。

start():开始计时。

stop():停止计时。

setFormat(String format):设置显示时间的格式。

setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener):为计时器绑定监听事件。

下面程序设计了一个一分钟的计时器。

首先:在XML文件中定义一个Chronomete和Button组件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="match_parent"android:layout_height="match_parent"><Chronometerandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/chronometer"android:textColor="#ff0303"android:textSize="12pt"android:layout_gravity="center_horizontal"android:focusable="true" /><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="启动"android:id="@+id/button"android:layout_gravity="center_horizontal" />
</LinearLayout>

其次:通过setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener)函数为计时器绑定监听事件。程序定义了一个Chronometer组件和Button组件。当用户单击Button时开始计时,计时时间为一分钟

package happy.chronometer;import android.os.Bundle;
import android.os.SystemClock;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.Chronometer;public class MainActivity extends AppCompatActivity {Chronometer ch ;Button  start ;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test);
//        获取计时器组件ch=(Chronometer)findViewById(R.id.chronometer);
//        获取开始组件start = (Button)findViewById(R.id.button);start.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//设置开始计时时间ch.setBase(SystemClock.elapsedRealtime());//启动计时器ch.start();}});//为计时器绑定监听事件ch.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener(){@Overridepublic void onChronometerTick(Chronometer ch){// 如果从开始计时到现在超过了60sif (SystemClock.elapsedRealtime() - ch.getBase() > 60 * 1000){ch.stop();start.setEnabled(true);}}});}
}

最后:我们可以看到如上的效果,其中时间为已经流逝的时间。

我若相信崇高,崇高自与我同在!

计时器(Chronometer)的使用相关推荐

  1. Android 计时器 Chronometer

    Android 简单的计时器可以使用系统提供的方法Chronometer 下面是是实现的效果 Chronometer 的几个方法如下: 1  start(); 计时开始 2 stop(); 计时暂停 ...

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

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

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

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

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

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

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

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

  6. android之计时器chronometer

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

  7. 关于安卓如何实现计时器chronometer的暂停和继续计时功能

    安卓的Chronometer组件的基本函数有setBase,设置基础计时点.暂停和继续计时关键是通过设置基础计时点来实现的.当用户点击暂停的时候获取Chronometer从开始到当前暂停所用的时间,即 ...

  8. 安卓25:Android studio 计时器chronometer的使用

    Chronometer作为一个计时器.当需要记录用户进行某项操作所消耗的时间的时候,或者在游戏中需要限制时间时候,可以使用它. Chronometer类有3个重要的方法:start.stop和setB ...

  9. 自学笔记:计时器Chronometer

    public class MainActivity extends Activity implements OnClickListener {/*** 待完善*/private Chronometer ...

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

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

最新文章

  1. python编写圣诞树代码_python 实现圣诞树
  2. syslog(),closelog()与openlog()--日志操作函数
  3. 用 WEKA 进行数据挖掘,第 3 部分: 最近邻和服务器端库
  4. 如何得到iterator的当前元素_链表进化!双向链表+迭代器(Iterator)!
  5. window系统下安装mysql5.7教程
  6. 广度优先搜索(入门)
  7. 牛客题霸 [矩阵乘法] C++题解/答案
  8. ad证书服务器在ADgroup,ACS 5.x :根据AD组成员配置示例和Authorization命令的TACACS+认证...
  9. 【数据结构与算法】图结构最小生成树Kruskal算法的Java实现
  10. Fedora/RedHat上使用Docker命令搭建Mysql服务器
  11. Delphi 7皮肤控件VCLSkin 5 60的使用
  12. 压缩的问题-----WriteUp
  13. 全面剖析 C++ Boost 智能指针! | CSDN 博文精选
  14. 高级I/O-----dup/dup2
  15. windows安装pyspider教程
  16. 不那么完美的 RSS 订阅方案 — feedly + RSSHub Radar
  17. 去除枕头异味的两种方法
  18. virt-manager 键盘错位解决
  19. Android蓝牙搜索连接通信
  20. opencv(c++)------图像分割(阙值、自适应阙值、grabCut、floodfill、wathershed)

热门文章

  1. 如何在iPhone和iPad上使用Group FaceTime
  2. Mysql数据库 | SQL语句解析『下篇』
  3. 机器学习入门的绝佳材料:斯坦福大学机器学习课程原始讲义(含公开课视频)
  4. “Windows10 无法打开这个应用程序”解决方案
  5. Laragon 在Windows中快速搭建Laravel本地开发环境
  6. cacheable 表达式_springboot @Cacheable 基本使用
  7. Tableau文件管理
  8. laravel图形验证码(借用了TP的图形验证码类)非常好用简单,非常适合前后端分离的项目
  9. python turtle 绘制七段数码管以及14段数码管显示字母和时间
  10. libcurl简单接口的使用(FTP)