实现倒计时的效果
例子:发送验证码按钮
效果图:
代码如下
/**
* 倒计时
*
* @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
推荐访问: