首页 > 系统 > Android > 正文

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

2019-12-12 03:41:20
字体:
来源:转载
供稿:网友

实现倒计时的效果

例子:发送验证码按钮

效果图:

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表