给大家分享一个在Android中获取验证码的倒数计时器,已经封装好了,直接引用就行。
2016-10-24 15:30
302 查看
获取短信验证码后,倒数一分钟,重新获取
package com.example.tsx.mytest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Color;
import android.os.CountDownTimer;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.widget.Button;
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 + "s");//设置倒计时时间
//设置按钮为灰色,这时是不能点击的
btn.setBackground(mActivity.getResources().getDrawable(R.drawable.send_code_backg));
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.drawable.codebackg));//还原背景色
}
}
package com.example.tsx.mytest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Color;
import android.os.CountDownTimer;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.widget.Button;
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 + "s");//设置倒计时时间
//设置按钮为灰色,这时是不能点击的
btn.setBackground(mActivity.getResources().getDrawable(R.drawable.send_code_backg));
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.drawable.codebackg));//还原背景色
}
}
相关文章推荐
- 用户点击获取验证码之后我们会发送一条信息到用户手机,然后就会出现一个倒计时按钮,很像支付宝手机付款效果了,下面我给大家分享两个js效果
- 好久没更新博客了,今天给大家分享一下Android中的资源与国际化的问题,通常我们新建一个Android工程,目录结构如下图所示: 我们主要看一下layout与values目录,layou
- 分享给大家一个生成图形验证码的View
- Android 给大家分享一个解决ViewPager和Scrollview滑动冲突的工具类
- android, 删除SD卡音乐文件。通过getContentResolver读取音乐文件,可以获取到一个完整的路径,直接new File(这括号写获取的路径).delete();
- android中引用方法的时候,有时候要new一个对象才能引用,有时候直接.方法就可以了,为什么
- (分享面试题)封装一个函数,获取指定参数的值
- [Android Pro] 获取手机已经安装的应用 和 获取当前正在运行的所有进程(一个uid对应多个pid)
- 分享下android 一个Listview下拉刷新的二次封装(第一次修订)
- Android listview下拉刷新,上拉加载(发现一个比较好用的,和大家分享下)
- Android 简单封装获取验证码倒计时功能
- 封装一个Drop and Drag面板控件,供大家分享
- android轻量级开源缓存框架——ASimpleCache(ACache)源码分析(封装好了一个工具类供大家使用)
- 一次偶然机遇找到一个不错的关于Android实现加载gif动画的实例,写一下分享个大家。
- 封装一个Drop and Drag面板控件,供大家分享
- unity 给大家分享一个可以直接将unity中的物体导出成fbx存在项目中的方法(实测pc可用,移动端不可以~~~其他待测~~)
- Android 简单封装获取验证码倒计时
- Android获取验证码倒计时封装工具
- Android 获取验证码倒计时封装
- [Android Pro] 获取手机已经安装的应用 和 获取当前正在运行的所有进程(一个uid对应多个pid)