Android使用CountDownTimer实现倒数定时器效果

 更新时间:2017年02月20日 09:16:24   作者:OliverBuddy  
这篇文章主要介绍了Android使用CountDownTimer实现倒数定时器效果的资料,这里整理了详细的代码,有需要的小伙伴可以参考下。

实现倒计时的效果

例子:发送验证码按钮

效果图:

/**
 * 倒计时
 * 
 * @author admin
 * 
 */
public class MainActivity extends ActionBarActivity {

  private Button tvTime;// 显示时间
  private MyCountDownTimer myCountDownTimer;// 倒计时对象

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tvTime = (Button) findViewById(R.id.time);
    tvTime.setText("发送验证码");
    tvTime.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {

        start();

        tvTime.setEnabled(false);// 倒计时时不可点击

      }
    });
  }

  /**
   * 开始
   * 
   * @param view
   */
  public void start() {
    long countDownInterval = 1000;// 间隔时间
    long millisInFuture = 20000;// 时长
    myCountDownTimer = new MyCountDownTimer(millisInFuture,
        countDownInterval);
    myCountDownTimer.start();
  }



  /**
   * 结束
   * 
   * @param view
   */
  public void end() {
    if (myCountDownTimer != null) {
      myCountDownTimer.cancel();

    }
  }

  @Override
  protected void onDestroy() {
    super.onDestroy();
    end();
  }

  /**
   * 倒计时
   * 
   * @author admin
   * 
   */
  private class MyCountDownTimer extends CountDownTimer {

    public MyCountDownTimer(long millisInFuture, long countDownInterval) {
      super(millisInFuture, countDownInterval);
    }

    // 可直接更新UI
    @Override
    public void onTick(long millisUntilFinished) {
      tvTime.setText("剩余时间:" + millisUntilFinished / 1000);// 转化为秒
    }

    @Override
    public void onFinish() {
      tvTime.setText("获取验证码");
      tvTime.setEnabled(true);// 当时间结束时才可以点击

    }

  }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android开发之滑动数值选择器NumberPicker用法示例

    Android开发之滑动数值选择器NumberPicker用法示例

    这篇文章主要介绍了Android开发之滑动数值选择器NumberPicker用法,结合实例形式分析了Android滑动数值选择器NumberPicker的功能、相关函数、事件监听、界面布局等操作技巧,需要的朋友可以参考下
    2019-03-03
  • Android自定义View实现随机验证码

    Android自定义View实现随机验证码

    这篇文章主要介绍了Android自定义View实现随机验证码的相关资料,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • Android  View移动的六种方法小结

    Android View移动的六种方法小结

    在android开发中,经常会遇到一个view需要它能够支持滑动的需求。下面通过本篇文章给大家介绍android view移动的六种方法,对android view移动相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • Android Dialog 设置字体大小的具体方法

    Android Dialog 设置字体大小的具体方法

    这篇文章介绍了Android Dialog 设置字体大小的具体方法,希望能帮助到有同样需求的朋友,可能我的方法不是最好的,也希望有朋友指点
    2013-09-09
  • Android编程之创建自己的内容提供器实现方法

    Android编程之创建自己的内容提供器实现方法

    这篇文章主要介绍了Android编程之创建自己的内容提供器实现方法,结合具体实例形式分析了Android创建内容提供器的原理、步骤与相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • 解析Android框架之Volley源码

    解析Android框架之Volley源码

    我们知道Volley是在2013年Google I/O大会上推出了一个新的网络通信框架,他的设计目的就是为了那些请求数据量不是特别大,但是又是特别频繁的网络操作非常适合。但是对于数据量较大的请求,比如说下载一个较大的文件,Volley可能相比于其他的框架,就有点不足了。
    2021-06-06
  • Android省电的秘密之JobScheduler

    Android省电的秘密之JobScheduler

    JobScheduler是Android L版本新引入的API,JobScheduler,顾名思义,是用来调度工作。工作被调度的条件包括网络变化,充电插拔,周期执行等。谷歌为什么要引入这个新的API呢?是为了省电而制定的一种规范。下面跟着小编一起来看下吧
    2017-02-02
  • Android 高效图片压缩的实现

    Android 高效图片压缩的实现

    这篇文章主要介绍了Android 高效图片压缩的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 实例讲解Android中ViewPager组件的一些进阶使用技巧

    实例讲解Android中ViewPager组件的一些进阶使用技巧

    这篇文章主要介绍了Android中ViewPager组件的一些进阶使用技巧,包括添加标题与onPagerChangeListener监听使用等,需要的朋友可以参考下
    2016-03-03
  • Android 实现旋转木马的音乐效果

    Android 实现旋转木马的音乐效果

    大家一定在百度音乐上在线听过歌,有没有注意到那个旋转的唱片,本篇文章主要介绍在Android上如何实现这样的功能,有需要的小伙伴可以参考下
    2016-07-07

最新评论