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

以前编程的时候,遇到倒计时的功能时,经常自己去写,但其实Android已经帮封装好了一个倒计时类CountDownTimer,其实是将后台线程的创建和Handler队列封装成为了一个方便的类调用。

说明:

CountDownTimer timer = new CountDownTimer(30000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间。

意思就是每隔一秒会回调一次方法onTick,然后30秒之后会回调onFinish方法。

package com.androidcountdowntimer2;

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.TextView;
/**
 * Android倒计时功能的实现(CountDownTimer)
 * @author zhongyao
 *
 */
public class MainActivity extends Activity {

	private MyCount mc;
    private TextView tv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView)findViewById(R.id.show);
        mc = new MyCount(30000, 1000);
        mc.start();
    }

    /*定义一个倒计时的内部类*/
    class MyCount extends CountDownTimer {
        public MyCount(long millisInFuture, long countDownInterval) {
            super(millisInFuture, countDownInterval);
        }     

        @Override
        public void onTick(long millisUntilFinished) {
             tv.setText("请等待:" + millisUntilFinished / 1000 + "秒...");
        }    

        @Override
        public void onFinish() {
            tv.setText("finish");
        }
    }  

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mc.cancel();
    }
}
时间: 2024-10-17 17:26:13

Android倒计时功能的实现(CountDownTimer)的相关文章

Android倒计时功能的实现

Android中的倒计时的功能(也可以直接使用CountDownTimer这个类直接实现,相关此Demo可查看我的博客),参考了网上写的很好的一个倒计时Demo: 下面提供下代码,和大家一起分享一下: MainActivity: package com.example.mytime; import java.util.ArrayList; import android.app.Activity; import android.content.Intent; import android.os.B

android倒计时(整理)

android倒计时 用到CountDownTimer Android中文API(143) —— CountDownTimer 前言 本章内容android.os.CountDownTime章节,版本为Android 4.0 r1,翻译来自:"liliang1222",再次感谢他 !期待你一起参与翻译Android的相关资料,联系我[email protected]. 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com/ Android中文翻

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

在发现这个类之前,一直是用的handler,子线程发消息,UI线程进行倒计时的显示工作.前几天在做一个倒计时显示的时候发现了这个类,用起来很方便 翻看了下源码,内部已经帮我们实现了handler的子线程操作 CountDownTimer这个类用起来很简单,两个参数,几句代码搞定,如下: CountDownTimer(long millisInFuture, long countDownInterval) 构造函数有两个参数,第一个millisInFuture是指要倒计时的总时间,单位是long

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

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

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

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

Android倒计时CountDownTimer小记

Android 超简便的倒计时实现:  CountDownTimer CountDownTimer由系统提供 查资料的时候 发现了CountDownTimer这个类之后 果断抛弃了以前的倒计时做法 功能: 30秒倒计时 每次间隔1秒 参数: mc.start();方法开始 mc.cancel();方法结束 new MyCountDownTimer(30000, 1000); 第一个参数表示 总的时间为30000毫秒,间隔1000毫秒 直接上代码: package com.example.daoj

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 -- 倒计时的实现

CountDownTimer                                                                      CountDownTimer这个类,实现了倒计时的功能.将后台线程的创建和Handler队列封装成一个方便的类调用. 这个类比较简单,只有四个方法:onTick,onFinsh.cancel和start.其中前面两个是抽象方法,所以要重写一下. 下面是官方给的一个小例子: new CountdownTimer(30000, 100

App启动页倒计时功能

转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6753418.html 示例代码采用 RxJava + RxLifecycle + Data-Binding 模式编写 示例图: 话不多说,实现方式如下: 1.导入依赖库 ① RxJava: Reactive Extensions for the JVM compile 'io.reactivex:rxjava:1.2.9' compile 'io.reactivex:rxandroid:1.2.1' ②