1. public class CountDownTimerUtils extends CountDownTimer {
  2. private TextView mTextView;
  3. /**
  4. * @param textView          The TextView
  5. *
  6. *
  7. * @param millisInFuture    The number of millis in the future from the call
  8. *                          to {@link #start()} until the countdown is done and {@link #onFinish()}
  9. *                          is called.
  10. * @param countDownInterval The interval along the way to receiver
  11. *                          {@link #onTick(long)} callbacks.
  12. */
  13. public CountDownTimerUtils(TextView textView, long millisInFuture, long countDownInterval) {
  14. super(millisInFuture, countDownInterval);
  15. this.mTextView = textView;
  16. }
  17. @Override
  18. public void onTick(long millisUntilFinished) {
  19. mTextView.setClickable(false); //设置不可点击
  20. mTextView.setText(millisUntilFinished / 1000 + "秒后可重新发送");  //设置倒计时时间
  21. mTextView.setBackgroundResource(R.drawable.bg_identify_code_press); //设置按钮为灰色,这时是不能点击的
  22. /**
  23. * 超链接 URLSpan
  24. * 文字背景颜色 BackgroundColorSpan
  25. * 文字颜色 ForegroundColorSpan
  26. * 字体大小 AbsoluteSizeSpan
  27. * 粗体、斜体 StyleSpan
  28. * 删除线 StrikethroughSpan
  29. * 下划线 UnderlineSpan
  30. * 图片 ImageSpan
  31. * http://blog.csdn.net/ah200614435/article/details/7914459
  32. */
  33. SpannableString spannableString = new SpannableString(mTextView.getText().toString());  //获取按钮上的文字
  34. ForegroundColorSpan span = new ForegroundColorSpan(Color.RED);
  35. /**
  36. * public void setSpan(Object what, int start, int end, int flags) {
  37. * 主要是start跟end,start是起始位置,无论中英文,都算一个。
  38. * 从0开始计算起。end是结束位置,所以处理的文字,包含开始位置,但不包含结束位置。
  39. */
  40. spannableString.setSpan(span, 0, 2, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);//将倒计时的时间设置为红色
  41. mTextView.setText(spannableString);
  42. }
  43. @Override
  44. public void onFinish() {
  45. mTextView.setText("重新获取验证码");
  46. mTextView.setClickable(true);//重新获得点击
  47. mTextView.setBackgroundResource(R.drawable.bg_identify_code_normal);  //还原背景色
  48. }
  49. }

使用:

CountDownTimerUtils mCountDownTimerUtils = new CountDownTimerUtils(mButton, 60000, 1000);

mCountDownTimerUtils.start();

												

Android中注册获取验证码倒计时按钮的更多相关文章

  1. android学习小例子——验证码倒计时按钮

    1.activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andro ...

  2. 前端学习——ionic/AngularJs——获取验证码倒计时按钮

     按钮功能为:点击"获取验证码"--按钮不可用-设置倒计时-60秒后重新获取. 代码借鉴于:http://plnkr.co/edit/Swj82MpJSix3a47jZRHP?p= ...

  3. Android 获取验证码倒计时实现

    Android 获取验证码倒计时实现 2017年10月24日 09:55:41 FBY展菲 阅读数:2002    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...

  4. angular中service封装$http做权限时拦截403等状态及获取验证码倒计时、跨域问题解决

    封装$http.做权限时拦截403等状态及获取验证码倒计时: 拦截接口返回状态 var app = angular.module('app'); app.factory('UserIntercepto ...

  5. Andorid实现点击获取验证码倒计时效果

    这篇文章主要介绍了Andorid实现点击获取验证码倒计时效果,这种效果大家经常遇到,想知道如何实现的,请阅读本文   我们在开发中经常用到倒计时的功能,比如发送验证码后,倒计时60s再进行验证码的获取 ...

  6. iOS 短信验证码倒计时按钮的实现

    验证码倒计时按钮的应用是非常普遍的,本文介绍了IOS实现验证码倒计时功能,点击获取验证码,进入时间倒计时,感兴趣的小伙伴们可以参考一下: 实现思路: 创建按钮,添加点击方法: 用NSTimer定时器, ...

  7. iOS项目中获取验证码倒计时及闪烁问题解决方案

    -(void)startTime{ __block int timeout= 59; //倒计时时间 dispatch_queue_t queue = dispatch_get_global_queu ...

  8. js点击按钮获取验证码倒计时

    //发送验证码倒计时 var clock = ''; var nums = 60; var btn; $("#btnGetVerCode").click(function () { ...

  9. clips 前端 js 倒计时 获取验证码的按钮

    <a href="javascript:void(0);" onclick="get_captcha()" class="btn btn-def ...

随机推荐

  1. libmnl

    https://www.netfilter.org/projects/libmnl/doxygen/modules.html 1,tar xvf libmnl-1.0.4.tar.gz 2,cd li ...

  2. BZOJ4888 Tjoi2017异或和(树状数组)

    化为前缀和相减.考虑每一位的贡献.则需要快速查询之前有几个数和当前数的差在第k位上为1.显然其与更高位是无关的.于是用BIT维护后k位的数的出现次数,瞎算一算即可. // luogu-judger-e ...

  3. 深入理解JVM一java堆分析

    上一节介绍了针对JVM的监控工具,包括JPS可以查看当前所有的java进程,jstack查看线程栈可以帮助你分析是否有死锁等情况,jmap可以导出java堆文件在MAT工具上进行分析等等.这些工具都非 ...

  4. Qt Creator中的3D绘图及动画教程(参照NeHe)

    Qt Creator中的3D绘图及动画教程(参照NeHe) http://blog.csdn.net/cly116/article/details/47184729 刚刚学习了Qt Creator,发 ...

  5. c#数据库连接 出现错误提示:keyword not supported:'connection timeour'

    连接字符串错误,如  User Id  被换行了,导致无效字符串 请检查连接字符串是否正确

  6. 【刷题】洛谷 P4716 【模板】最小树形图

    题目背景 这是一道模板题. 题目描述 给定包含 \(n\) 个结点, \(m\) 条有向边的一个图.试求一棵以结点 \(r\) 为根的最小树形图,并输出最小树形图每条边的权值之和,如果没有以 \(r\ ...

  7. 【总结】Link-Cut Tree

    这是一篇关于LCT的总结 加删边的好朋友--Link Cut Tree Link-Cut Tree,LCT的全称 可以说是从树剖引出的问题 树剖可以解决静态的修改或查询树的链上信息:那如果图会不断改变 ...

  8. Bootstrap 环境安装

    下载 Bootstrap 可以从 http://getbootstrap.com/ 上下载 Bootstrap 的最新版本.当点击这个链接时,将看到如下所示的网页: 您会看到两个按钮: Downloa ...

  9. 【Treeview】遍历本地磁盘

    一.前言 Treeview控件常用于遍历本地文件信息,通常与Datagridview与ImageList搭配.ImageList控件用于提供小图片给TreeView控件,DatagridView通常显 ...

  10. sysbench - 单组件式测试工具

    1 安装 > ./configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/my ...