欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

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

时间:2021-02-28 14:51:40|栏目:Android代码|点击:

实现倒计时的效果

例子:发送验证码按钮

效果图:

/**
 * 倒计时
 * 
 * @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);// 当时间结束时才可以点击

    }

  }

}

上一篇:详解OkSocket与Android的简单使用

栏    目:Android代码

下一篇:从源码分析Android的Volley库的工作流程

本文标题:Android使用CountDownTimer实现倒数定时器效果

本文地址:http://www.codeinn.net/misctech/71647.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有