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使用CountDownTimer实现倒数定时器效果 的全部内容, 来源链接: utcz.com/z/319934.html

回到顶部