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. mac下mysql5.7.10密码问题

    mysql5.7.10刚安装好,会生成一个随机密码. 如果没记住这个随机密码,那么到mysql/bin/下执行mysql_secure_installation命令 按照提示重置密码和其他选项. ps ...

  2. [翻译]API Guides - Service

    官方文档原文地址:http://developer.android.com/guide/components/services.html Service是应用程序组件之一,它并不提供一个用户界面,可以 ...

  3. vscode如何用浏览器预览运行html文件

    1,打开vscode编辑器,点击编辑器主界面左上侧第五个小图标——‘扩展’按钮: 2,进入扩展搜索右拉框,在应用商店搜索框中输入“view in browser”会自动进行搜索 3,等待几秒钟时间,扩 ...

  4. HDU4802_GPA

    水题. #include <iostream> #include <cstdio> #include <cstring> using namespace std; ...

  5. jquery 集合注意点

  6. Robotframework SSHLibrary库关键字

    1.连接远程机器 两种方法,一种用户名密码登录连接,一种是通过密钥连接 (1)用户名密码连接 (2)密钥连接 大概介绍下密钥:首先由用户生成一对密码,公钥与私钥:私钥是给需要连接的用户,连接时使用私钥 ...

  7. 抽屉点赞及jQuery CSS操作

    1.需要用到的知识点: CSS处理 $('t1').css('color','red') 点赞: -$('t1').append() -$('t1').remove() -setInterval -o ...

  8. [洛谷P5137]polynomial

    题目大意:求:$$\sum\limits_{i=0}^na^{n-i}b^i\pmod{p}$$$T(T\leqslant10^5)$组数据,$a,b,n,p\leqslant10^{18}​$ 题解 ...

  9. 【Visual Installer】如何读取与写入注册表信息

    引入:using Microsoft.Win32; (1)读取注册表信息 代码: RegistryKey rsg = null; rsg = Registry.LocalMachine.OpenSub ...

  10. (转载)Cobalt Strike tutorial下针对CVE-2017-0199利用

    CVE-2017-0199利用OLE对象嵌入Word / RTF文档的方式,使得可以在没有用户交互的情况下执行其内容.OLE由许多不同的程序支持,OLE通常用于使在另一个程序中可用的程序中创建的内容. ...