Android 开发 倒计时功能 转载
原文地址:https://www.cnblogs.com/xch-yang/p/7920419.html
Android为我们封装好了一个抽象类CountDownTimer,可以实现计时器功能:

/**
* 倒数计时器
*/
private CountDownTimer timer = new CountDownTimer(15 * 60 * 1000, 1000) {
Android为我们封装好了一个抽象类CountDownTimer,可以实现计时器功能:

/**
* 倒数计时器
*/
private CountDownTimer timer = new CountDownTimer(15 * 60 * 1000, 1000) {
/**
* 固定间隔被调用,就是每隔countDownInterval会回调一次方法onTick
* @param millisUntilFinished
*/
@Override
public void onTick(long millisUntilFinished) {
tv_remaining_time.setText(formatTime(millisUntilFinished));
} /**
* 倒计时完成时被调用
*/
@Override
public void onFinish() {
tv_remaining_time.setText("00:00");
}
}; /**
* 将毫秒转化为 分钟:秒 的格式
*
* @param millisecond 毫秒
* @return
*/
public String formatTime(long millisecond) {
int minute;//分钟
int second;//秒数
minute = (int) ((millisecond / 1000) / 60);
second = (int) ((millisecond / 1000) % 60);
if (minute < 10) {
if (second < 10) {
return "0" + minute + ":" + "0" + second;
} else {
return "0" + minute + ":" + second;
}
}else {
if (second < 10) {
return minute + ":" + "0" + second;
} else {
return minute + ":" + second;
}
}
} /**
* 取消倒计时
*/
public void timerCancel() {
timer.cancel();
} /**
* 开始倒计时
*/
public void timerStart() {
timer.start();
}

构造方法里需要传入两个参数进去:
参数1:倒计时的总时间,单位ms
参数2:倒计时的时间间隔,单位ms
方法:
cancel():取消倒计时
onFinish():当前任务完成的时候回调
onTick(long millisUnitilFinished):当前任务每完成一次倒计时间隔时间时回调
start():开始倒计时

/** * 固定间隔被调用,就是每隔countDownInterval会回调一次方法onTick * @param millisUntilFinished */ @Override public void onTick(long millisUntilFinished) { tv_remaining_time.setText(formatTime(millisUntilFinished)); } /** * 倒计时完成时被调用 */ @Override public void onFinish() { tv_remaining_time.setText("00:00"); } }; /** * 将毫秒转化为 分钟:秒 的格式 * * @param millisecond 毫秒 * @return */ public String formatTime(long millisecond) { int minute;//分钟 int second;//秒数 minute = (int) ((millisecond / 1000) / 60); second = (int) ((millisecond / 1000) % 60); if (minute < 10) { if (second < 10) { return "0" + minute + ":" + "0" + second; } else { return "0" + minute + ":" + second; } }else { if (second < 10) { return minute + ":" + "0" + second; } else { return minute + ":" + second; } } } /** * 取消倒计时 */ public void timerCancel() { timer.cancel(); } /** * 开始倒计时 */ public void timerStart() { timer.start(); }

构造方法里需要传入两个参数进去:
参数1:倒计时的总时间,单位ms
参数2:倒计时的时间间隔,单位ms
方法:
cancel():取消倒计时
onFinish():当前任务完成的时候回调
onTick(long millisUnitilFinished):当前任务每完成一次倒计时间隔时间时回调
start():开始倒计时

Android 开发 倒计时功能 转载的更多相关文章
- Android 关于倒计时功能的实现
关于倒计时的实现,可以说有很多的方法,比较常见的就是Timer+TimerTask+Handler了,或者还可以配合Runnable.例如下面的代码: import java.util.Timer; ...
- Android开发---支付宝功能接口(支付功能)(转载!)
最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多. 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单.而且支付宝提供的接口一直在 ...
- 【Android】Android开发小功能,倒计时的实现。时间计时器倒计时功能。
作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个最终实现 ...
- Android开发——ThreadLocal功能介绍
个静态的监听器对象,显然是无法接受的. 2. 使用实例 //首先定义一个ThreadLocal对象,选择泛型为Boolean类型 private ThreadLocal<Boolean> ...
- Android开发——Android的消息机制详解
)子线程默认是没有Looper的,Handler创建前,必须手动创建,否则会报错.通过Looper.prepare()即可为当前线程创建一个Looper,并通过Looper.loop()来开启消息循环 ...
- 2018-2019-2 20175217 实验四《Android开发基础》实验报告
一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:吴一凡 学号:20175217 指导教师:娄嘉鹏 实验日期:2019年5月16日 实验时间:--- 实验序号:实验四 实验名称:And ...
- Android 开发 音视频从入门到提高 任务列表 转载
<Android 音视频从入门到提高 —— 任务列表> 1. 在 Android 平台绘制一张图片,使用至少 3 种不同的 API,ImageView,SurfaceView,自定义 Vi ...
- (转载) Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框
Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框 标签: Android清除功能EditText仿IOS的输入框 2013-09-04 17:33 70865人阅读 ...
- Android开发案例 – 在AbsListView中使用倒计时
在App中, 有多种多样的倒计时需求, 比如: 在单View上, 使用倒计时, 如(如图-1) 在ListView(或者GridView)的ItemView上, 使用倒计时(如图-2) 图-1 图-2 ...
随机推荐
- SpringBoot打成jar包后,获取不到读取resources目录下文件路径的问题
问题描述: Springboot没有打成jar之前,可以成功获取读取resources目录下xxx.json文件的 路径.但是打成jar包后,接口调不通,原因是获取不到文件的路径. 原因: 在本地进行 ...
- Hbase常用操作记录
Hbase常用操作记录 Hbase 创建表 查看表结构 修改表结构 删除表 创建表 语法:create <table>, {NAME => <family>, VERSI ...
- Python基础:二、python介绍
Python崇尚优美.清晰.简单,是一个优秀并广泛使用的语言 python的创始人为GuidovanRossum.1989年圣诞节期间,Guido再阿姆斯特丹未来打发时间,决心开发一个新的脚本解释程序 ...
- EBS 新建消息并且通过fnd_message提示
前台 定义消息 系统管理员->系统管理->消息 文本中可使用 &变量名 指定变量 代码调用方式: fnd_message.set_name('CUX', ' ...
- 虚拟机安装精简版centos7过程
虚拟机配置工作如下所示 1.创建虚拟机 使用键盘组合键CTRL+N2.选择自定义(高级) 如图所示: 3.默认如何所示: 4.选择 稍后安装操作系统 如图所示: 5.选择对应的操作系统 如何所示 6 ...
- Nginx failing to load CSS and JS files (MIME type error)
Nginx failing to load CSS and JS files (MIME type error) Nginx加载静态文件失败的解决方法(MIME type错误) 上线新的页面,需要在n ...
- CentOS7之Rsync+Inotify架构实现实时同步文件和文件夹
简介:rsync是用来同步文件和文件夹的,inotify是用来实现监听变动而自动同步的 OS:Centos7.3 服务器端:172.16.13.157 客 户 端 :172.16.13.156 目 ...
- zeebe 集成elasticsearch exporter
zeebe 目前还在一直的开发中,同时一些变动还是挺大的,比如simple monitor 的以前是不需要配置HazelcastExporter的 估计是为了进行集群功能处理,新添加的,以前写的配置基 ...
- 单机版Kubernetes集群(一)
环境:CentOS Linux release 7.4.1708 (Core) 单机版Kubernetes集群的效果,如图: 1)JSP页面通过JDBC直接访问Mysql数据库并展示:这里只是为了 ...
- Centos6.9部署Gitlab-11.9.8并汉化
Git 是一种分布式的代码版本管理系统,git在工作时可以不用时刻依赖后台服务器,在本地电脑上就可以管理版本控制,但是在需要协同开发时就必须要使用后台服务器了,目前互联网上有github,码云这样的远 ...