安卓短信验证码倒计时效果
2016-08-10 19:23
211 查看
我写了一个工具类进行封装倒计时效果,然后在activity中调对象实例化调用就好了。
写工具类TimeCountUtil继承CountDownTimer类,实现onTick和onFinish方法。
onTick中设置点击后按钮UI发生的变化,onFinish还原布局。
写工具类TimeCountUtil继承CountDownTimer类,实现onTick和onFinish方法。
onTick中设置点击后按钮UI发生的变化,onFinish还原布局。
public class TimeCountUtil extends CountDownTimer { private Activity mActivity; private Button btn;//按钮 // 在这个构造方法里需要传入三个参数,一个是Activity,一个是总的时间millisInFuture,一个是countDownInterval,然后就是你在哪个按钮上做这个是,就把这个按钮传过来就可以了 public TimeCountUtil( Activity mActivity,long millisInFuture, long countDownInterval,Button btn) { super(millisInFuture, countDownInterval); this.mActivity = mActivity; this.btn =btn; } @SuppressLint("NewApi") @Override public void onTick(long millisUntilFinished) { btn.setClickable(false);//设置不能点击 btn.setText(millisUntilFinished / 1000 + "秒后可重新发送");//设置倒计时时间 //设置按钮为灰色,这时是不能点击的 btn.setBackground(mActivity.getResources().getDrawable(R.color.colorgray)); Spannable span = new SpannableString(btn.getText().toString());//获取按钮的文字 span.setSpan(new ForegroundColorSpan(Color.RED), 0, 2, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);//讲倒计时时间显示为红色 btn.setText(span); } @SuppressLint("NewApi") @Override public void onFinish() { btn.setText("重新获取验证码"); btn.setClickable(true);//重新获得点击 btn.setBackground(mActivity.getResources().getDrawable(R.color.colorlightblue));//还原背景色 } }
相关文章推荐
- 安卓发送验证码倒计时效果和自动获取验证码并填充到输入框
- jquery 倒计时发送短信验证码效果
- 微信小程序 —— 验证码获取倒计时效果
- 对安卓获取验证码倒计时60秒Button按钮的简单封装
- js 短信验证码倒计时效果
- 基于cookie实现发送短信验证码后的倒计时功能(无视页面刷新)
- js实现发送短信验证码后的倒计时功能(无视页面刷新)
- 重新发送短信验证码的web的60秒倒计时的实现
- Swift免费短信验证码实现及动态倒计时功能
- Android使用Kotlin和RxJava 2.×实现短信验证码倒计时效果
- 前端验证码倒计时、后台发送验证码、创蓝短信接口
- js实现按钮重新发送验证码倒计时效果
- IOS 广州首易短信验证码 post 请求及验证码button倒计时
- jQuery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码(未测试)
- Android实现发送验证码倒计时的效果
- jQuery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码
- iOS发送短信后验证码倒计时
- jquery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码
- JS/jQ实现免费获取手机验证码倒计时效果
- 安卓中短信验证码倒计时的几种方式