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 ...
随机推荐
- Matlab 将RGB 图像转换成YCrCb图像
>> im = imread('trees.jpg');>> imshow(im)>> ycrcb_trees = rgb2ycbcr(im);>> f ...
- 我的代码-normalize
# coding: utf-8 # In[13]: import pandas as pdimport numpy as npimport scipy as spfrom os import list ...
- HNOI2006公路修建问题
https://www.luogu.org/problemnew/show/P2323 [题目描述] OI island是一个非常漂亮的岛屿,自开发以来,到这儿来旅游的人很多.然而,由于该岛屿刚刚开发 ...
- java web(三):ServletContext、session、ServletConfig、request、response对象
上一篇讲了Servlet: 1)什么是Servlet[servlet本身就是一种Java类,这种Java类提供了web形式的方法,只要实现了servlet接口的类,都是一种servlet资源.] 2) ...
- C/C++ 控制台字体的变颜变色
先扔一个链接上来,因为怕忘: https://blog.csdn.net/stude/article/details/7645056 https://blog.csdn.net/lindorx/art ...
- Computer Graphics Principles And Practice (James Foley / Andries Van Dam / Morgan McGuire / David Sklar / James D. Foley 著)
1 Introduction 2 Introduction to 2D Graphics Using WPF 3 An Ancient Renderer Made Modern 4 A 2D Grap ...
- Java...点点点语法
https://blog.csdn.net/IT_faquir/article/details/49131173
- 数字色彩的艺术 | The Art Of Digital Color(修订)
翻译一篇来自2011年的文章,原链地址:https://www.fxguide.com/featured/the-art-of-digital-color/ 在这个时期,DPX日渐式微,ACES方兴未 ...
- Windos下pip配置豆瓣源
C:\Users\liche\pip 下创建pip.ini文件 pip.ini [global] index-url = http://pypi.douban.com/simple [install] ...
- 解决用低版本的客户端ORACLE 12提示ORA-28040的异常
用低版本的客户端访问ORACLE 12,无法连接,提示信息为ORA-28040.解决办法如下: 1.把sqlnet.ora文件添加两行(或者修改),修改文件后直接生效,不需要重启服务和监听的: SQL ...