返回顶部
首页 > 资讯 > 移动开发 >Android使用CountDownTimer实现倒数定时器效果
  • 583
分享到

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

定时器Android 2022-06-06 04:06:38 583人浏览 安东尼
摘要

实现倒计时的效果 例子:发送验证码按钮 效果图: public class MainActivity extends ActionBarActivity { priv

实现倒计时的效果

例子:发送验证码按钮

效果图:



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);// 倒计时时不可点击
      }
    });
  }
  
  public void start() {
    long countDownInterval = 1000;// 间隔时间
    long millisInFuture = 20000;// 时长
    myCountDownTimer = new MyCountDownTimer(millisInFuture,
        countDownInterval);
    myCountDownTimer.start();
  }
  
  public void end() {
    if (myCountDownTimer != null) {
      myCountDownTimer.cancel();
    }
  }
  @Override
  protected void onDestroy() {
    super.onDestroy();
    end();
  }
  
  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);// 当时间结束时才可以点击
    }
  }
}
您可能感兴趣的文章:使用CountDownTimer类轻松实现倒计时功能java线程并发countdownlatch类使用示例详解Java多线程编程中CountDownLatch阻塞线程的方法Android中CountDownTimer倒计时器用法实例Java多线程编程之CountDownLatch同步工具使用实例Android 列表倒计时的实现的示例代码(CountDownTimer)Android基于CountDownTimer实现倒计时功能Android基于CountDownView的时间控件扩展Java CountDownLatch完成异步回调实例详解CountDownLatch源码解析之countDown()


--结束END--

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

本文链接: https://lsjlt.com/news/22282.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作