博观而约取,厚积而薄发。这篇文章主要讲述android中的验证码倒计时相关的知识,希望能为你提供帮助。
1.如图所示,要实现一个验证码的倒计时的效果
文章图片
文章图片
文章图片
2.实现
图中获取验证码那块是一个button按钮
文章图片
关键部分,声明一个TimeCount,继承自CountDownTimer
/*验证码倒计时*/
private class TimeCount extends CountDownTimer{
/**
* @param millisInFuture总时间长度(毫秒)
* @param countDownInterval 时间间隔(毫秒),每经过一次时间间隔都会调用onTick方法
*/
public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onTick(long millisUntilFinished) {//倒计时状态
getVerificationCodeBtn.setClickable(false); //设置button此时不可点击
getVerificationCodeBtn.setBackground(getResources().getDrawable(R.drawable.get_verification_code_waitting_bg)); //修改button的背景
getVerificationCodeBtn.setTextColor(getResources().getColor(R.color.black)); //修改button的textColor
getVerificationCodeBtn.setText(millisUntilFinished / 1000 +"s后可重新发送"); //显示button的倒计时文字
}
@Override
public void onFinish() {//倒计时结束状态
getVerificationCodeBtn.setBackground(getResources().getDrawable(R.drawable.login_btn_bg));
getVerificationCodeBtn.setTextColor(getResources().getColor(R.color.white));
getVerificationCodeBtn.setClickable(true); //重新设置button为可点击
getVerificationCodeBtn.setText("重新获取"); //修改button的文字
}
}
最后在代码中,声明TimeCount并实例化,在button的点击事件中调用.start()方法启动定时器。
TimeCount timeCount = new TimeCount(60000,1000);
timeCount.start();
至此结束。
【android中的验证码倒计时】
推荐阅读
- Maven发布项目丢失Mybatis Mapper包的映射问题
- Android开发——轻松战胜开发环境
- Android Studio运行程序时找不到安卓模拟器
- Running ASP.NET Core applications on Windows Subsystem for Linux
- 函数的call()方法和apply()方法
- Xamarin Android ListView 控件使用
- AndroidStudio在线搜索最新版本的依赖库
- 使用SAX Parser的Kotlin Android XML解析
- 使用DOM解析器的Kotlin Android XML解析