Android基础之——CountDownTimer类,轻松实现倒计时功能

在发现这个类之前,一直是用的handler,子线程发消息,UI线程进行倒计时的显示工作。前几天在做一个倒计时显示的时候发现了这个类,用起来很方便

翻看了下源码,内部已经帮我们实现了handler的子线程操作

CountDownTimer这个类用起来很简单,两个参数,几句代码搞定,如下:

CountDownTimer(long millisInFuture, long countDownInterval) 

构造函数有两个参数,第一个millisInFuture是指要倒计时的总时间,单位是long ms,第二个参数countDownInterval是指倒计时的频率,是一次倒计时1s 还是一次倒计时2s

知道这两个参数的意思那就很好办了,new一个CountDownTimer对象就会生成两个回调函数

public void onTick(long millisUntilFinished) {
				// TODO Auto-generated method stub

			}

			@Override
			public void onFinish() {
				// TODO Auto-generated method stub

			}

第一个方法 就是在倒计时的时候调用的,每倒计时一次要进行什么操作,就可以放在这里面做,一般是对UI线程进行一些操作,比如对文本进行更改,达到倒计时的效果

第二个方法是倒计时完成后调用,倒计时完成需要进行什么操作都可以写在里面。

当然,最后一定要记得start() 否则线程不会开始

全部代码:

public class MainActivity extends Activity {

	private TextView tv;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		tv = (TextView) findViewById(R.id.tv);

		/** 倒计时60秒,一次1秒 */
		CountDownTimer timer = new CountDownTimer(60*1000, 1000) {
			@Override
			public void onTick(long millisUntilFinished) {
				// TODO Auto-generated method stub
				tv.setText("还剩"+millisUntilFinished/1000+"秒");
			}

			@Override
			public void onFinish() {
				tv.setText("倒计时完成了");
			}
		}.start();
	}

}

效果图:

       

Android基础之——CountDownTimer类,轻松实现倒计时功能,布布扣,bubuko.com

时间: 2024-10-14 04:02:12

Android基础之——CountDownTimer类,轻松实现倒计时功能的相关文章

Android基础之CountDownTimer 倒计时类

app常用的60s倒计时计时功能: private static final int TIME_LIMIT = 60; private void initView() { // 相关控件 mResend = (TextView) findViewById(R.id.resend); // 重新发送btn mResend.setOnClickListener(this); mTimeLimit = (TextView) findViewById(R.id.time_limit); // 倒计时秒数

原生JS轻松实现倒计时功能

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>倒计时</title> <style> strong{color: #f00;padding: 0 15px;}; </style> <script type="text/javascript">

Android开发:验证码倒计时功能实现

前言 现在好多个APP里面都有验证码倒计时按钮,实现方式大概有下面几种: 1.使用线程和Handler的方式,定时刷新倒计时数字,这种方式容易导致内存泄露,所以一般都使用弱引用,控制数字的刷新. 2.自定义倒计时按钮 3.使用Android提供的CountDownTimer结合TextView实现倒计时功能 这篇主要就是说下用第三种方式实现,简单好用 效果图 实现 以下是核心代码: /** * Created by hfs on 2017/5/9. */ public class TimeCou

Android CountDownTimer 类实现倒计时

本文用 Android 中的 CountDownTimer 类实现倒计时功能,类似输入手机号获得验证码.界面如下所示: 1. 点击 “开始计时” 按钮后开始进行倒计时, 2. 倒计时过程: 3. 时间结束后按钮变为 “重新验证”,点击后重新开始计时. 功能很简单,Java 代码如下: public class MainActivity extends Activity { private TimeCount time; private Button checking; @Override pro

Android 关于倒计时功能的说说

关于倒计时的实现,可以说有很多的方法,比较常见的就是Timer+TimerTask+Handler了,或者还可以配合Runnable.例如下面的代码: [html] view plaincopy import java.util.Timer; import java.util.TimerTask; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.

android提供的TextUtils类

对于字符串处理Android为我们提供了一个简单实用的TextUtils类,如果处理比较简单的内容不用去思考正则表达式不妨试试这个在android.text.TextUtils的类,主要的功能如下: 是否为空字符 boolean android.text.TextUtils.isEmpty(CharSequence str)  拼接字符串 String android.text.TextUtils.join(CharSequence delimiter, Object[] tokens) 拆分字

Android倒计时功能的实现(CountDownTimer)

以前编程的时候,遇到倒计时的功能时,经常自己去写,但其实Android已经帮封装好了一个倒计时类CountDownTimer,其实是将后台线程的创建和Handler队列封装成为了一个方便的类调用. 说明: CountDownTimer timer = new CountDownTimer(30000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间. 意思就是每隔一秒会回调一次方法onTick,然后30秒之后会回调onFinish方法. package com.androidcoun

(六)Android中使用CountDownTimer实现倒计时功能

一.倒计时运行效果图 开发中经常遇到获取短信验证码后需要等待1分钟倒计时,这时需要一个倒计时程序.本文利用CountDownTimer封装了一个比较好用的倒计时工具类,方便以后程序开发.下面是倒计时功能的运行效果图: 二.此工程结构如下所示: 三.此工程中各个重点文件的代码如下所示: 3.1 TimeCount.java是实现倒计时的工具类,此工具类可以在很多倒计时场合使用,此类中的代码如下所示: package com.example.timecountdemo; import android

Android基础入门教程——8.3.2 绘图类实战示例

Android基础入门教程--8.3.2 绘图类实战示例 标签(空格分隔): Android基础入门教程 本节引言: 前两节我们学了Bitmap和一些基本的绘图API的属性以及常用的方法,但心里总觉得有点 不踏实,总得写点什么加深下映像是吧,嗯,本节我们就来写两个简单的例子: 1.简单画图板的实现 2.帮美女擦衣服的简单实现 嘿嘿,第二个例子是小猪刚学安卓写的一个小Demo~嘿嘿~ 开始本节内容~ 1.实战示例1:简单画图板的实现: 这个相信大家都不陌生,很多手机都会自带一个给用户涂鸦的画图板,