学习使用Android Chronometer计时器
作者:amigos_pop 发布时间:2022-02-20 16:58:25
标签:Android,Chronometer,计时器
本文实例为大家分享了Android Chronometer计时器基本使用方法,供大家参考,具体内容如下
在默认情况下,Chronometer组件只输出MM:SS或H:MM:SS的时间格式。例如,当计时到1分20秒时,Chronometer组件会显示01:20。如果想改变显示的信息内容,可以使用Chronometer类的setFormat方法。该方法需要一个String变量,并使用"%s"表示计时信息。例如,使用setFormat("计时信息:%s")设置显示信息,Chronometer组件会显示如下计时信息:
计时信息:10:20
android:format;//定义时间的格式如:hh:mm:ss
setFormat("计时:%s"); //设置显示格式
setFormat(String format);//设置显示时间的格式。
start();//开始计时
stop();//停止计时
setBase();//设置基地时间,一般都是SystemClock.elapsedRealtime()
setOnChronometerTickListener(Chronometer.OnChronometerTickListener listener);//当计时器改变时调用
案例:
1.定义布局文件chronometer.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Chronometer
android:id="@+id/chronometer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/chronometer_start"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="开始计时"
/>
<Button
android:id="@+id/chronometer_end"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="停止计时"
/>
<Button
android:id="@+id/chronometer_null"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="重新开始计时"
/>
</LinearLayout>
2.java代码文件:ChronometerDemo.java
package com.test;
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 chronometer;
private Button button_start, button_end,button_bull;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.chronometer);
chronometer =(Chronometer)findViewById(R.id.chronometer);
button_start =(Button)findViewById(R.id.chronometer_start);
button_end =(Button)findViewById(R.id.chronometer_end);
button_bull =(Button)findViewById(R.id.chronometer_null);
button_start.setOnClickListener(clickListener);
button_end.setOnClickListener(clickListener);
button_bull.setOnClickListener(clickListener);
}
private OnClickListener clickListener = new OnClickListener() {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.chronometer_start:
//调用start()方法开始计时
chronometer.start();
button_start.setText("正在计时...");
break;
case R.id.chronometer_end:
//调用stop()方法停止计时
chronometer.stop();
button_start.setText("继续计时");
break;
case R.id.chronometer_null:
//调用stop()方法停止计时
chronometer.setBase(SystemClock.elapsedRealtime());
chronometer.start();
button_start.setText("正在计时...");
break;
default:
break;
}
}
};
}
3. 运行效果:
有一个问题就是,计时器开始计时后,一段时间之后,点击停止计时,一段时间后,点击继续计时,但是这个时间的不是停止后的那个时间。说明停止之后,计时器还在后台运行。
以上就是本文的全部内容,希望对大家学习Android Chronometer计时器有所帮助和启发。


猜你喜欢
- ArrayList和LinkedList都实现了List接口,有以下的不同点:1、ArrayList是基于索引的数据接口,它的底层是数组。它
- 谨记:Url表只储存受保护的资源,不在表里的资源说明不受保护,任何人都可以访问1、MyFilterInvocationSecurityMet
- 如何传入字符串参数,分割并遍历如前台传入字符串参数 String str = "a,b,c,d,e,f";现需
- Android UI 实现 * 详解listview 的使用步骤简单的listview * 实现1.实现效果图2.需要掌握的知识listvi
- 基于Java的简单的企业员工管理系统,供大家参考,具体内容如下首先创建了一个员工类定义员工应有的属性:工号、姓名、性别、职位、年龄、工资、部
- 前言微服务架构,前后端分离目前已成为互联网项目开发的业界标准,其核心思想就是前端(APP、小程序、H5页面等)通过调用后端的API接口,提交
- IntelliJ IDEA 安装后需要进行初始化配置已更加方便使用。本文整理了比较通用的安装后初始配置。本文的版本:IntelliJ IDE
- Android可以在所有应用上方添加View,就是给WindowManager添加一个View,在创建的View的时候可以给这个View设置
- 随着C#的发展,该语言内容不断丰富,开发变得更加方便快捷,C# 的锋利尽显无疑。C# 语言从诞生起就是强类型语言,这一性质到今天不曾改变,我
- 需要实现看门狗功能,定时检测另外一个程序是否在运行,使用 crontab 仅可以实现检测程序是否正在运行,无法做到扩展,如:手动重启、程序升
- 网上搜集了java的学习思维导图,分享给大家。01.Java程序设计(基础)02.Java程序设计(专题)03.客户端网页编程04.Java
- 用Java来实现简单的拼图游戏,供大家参考,具体内容如下首先我们看一下这个拼图小游戏的效果图:创建一个名称为MedleyGame的类,该类继
- 一、前言在mybatis官网中,有插件一说 mybatis plugins 如果同时有多个插件,那么他们的执行顺序是怎样的?二、准备工作、代
- 本文基于jdk1.8进行分析关于HashMap的简介,可以参考这篇文章https://www.jb51.net/article/154177
- 昨天下午快下班的时候,无意中听到公司两位同事在探讨批量向数据库插入数据的性能优化问题,顿时来了兴趣,把自己的想法向两位同事说了一下,于是有了
- 目录1、在异常处理中,如释放资源,关闭数据库、关闭文件应由( )语句来完成。2、如下Java语句 double x=2.0; int y=4
- 我们要使用java来操作redis什么是Jedis?什么是Jedis 是Redis官方推荐的java连接开发工具!使用Java操作Redis
- 1、创建Windows服务 说明:a)Description 服务描述,直接显示到Windows服务列表中的描述;b)Displa
- 平时,我们将c#中的Distinct大多用于对数组去重,一般数组为基础的数据类型,例如 int,string.也可以用于对象去重,我们看看C
- 一般的 Executors 的 execute以及submit并发包下 Executors 创建的线程存在 一个 execute(),以及三