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

时间:2021-06-25  来源:Action  阅读:

实现倒计时的效果

例子:发送验证码按钮

效果图:

 

 代码如下

/**

 * 倒计时

 *

 * @author admin

 *

 */

publicclassMainActivityextendsActionBarActivity {

 

  privateButton tvTime;// 显示时间

  privateMyCountDownTimer myCountDownTimer;// 倒计时对象

 

  @Override

  protectedvoidonCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    tvTime = (Button) findViewById(R.id.time);

    tvTime.setText("发送验证码");

    tvTime.setOnClickListener(newOnClickListener() {

 

      @Override

      publicvoidonClick(View v) {

 

        start();

 

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

 

      }

    });

  }

 

  /**

   * 开始

   *

   * @param view

   */

  publicvoidstart() {

    longcountDownInterval =1000;// 间隔时间

    longmillisInFuture =20000;// 时长

    myCountDownTimer =newMyCountDownTimer(millisInFuture,

        countDownInterval);

    myCountDownTimer.start();

  }

 

 

 

  /**

   * 结束

   *

   * @param view

   */

  publicvoidend() {

    if(myCountDownTimer !=null) {

      myCountDownTimer.cancel();

 

    }

  }

 

  @Override

  protectedvoidonDestroy() {

    super.onDestroy();

    end();

  }

 

  /**

   * 倒计时

   *

   * @author admin

   *

   */

  privateclassMyCountDownTimerextendsCountDownTimer {

 

    publicMyCountDownTimer(longmillisInFuture,longcountDownInterval) {

      super(millisInFuture, countDownInterval);

    }

 

    // 可直接更新UI

    @Override

    publicvoidonTick(longmillisUntilFinished) {

      tvTime.setText("剩余时间:"+ millisUntilFinished /1000);// 转化为秒

    }

 

    @Override

    publicvoidonFinish() {

      tvTime.setText("获取验证码");

      tvTime.setEnabled(true);// 当时间结束时才可以点击

 

    }

 

  }

 

}

 

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

http://m.bbyears.com/flash/125966.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新