Android中注册获取验证码倒计时按钮
- public class CountDownTimerUtils extends CountDownTimer {
- private TextView mTextView;
- /**
- * @param textView The TextView
- *
- *
- * @param millisInFuture The number of millis in the future from the call
- * to {@link #start()} until the countdown is done and {@link #onFinish()}
- * is called.
- * @param countDownInterval The interval along the way to receiver
- * {@link #onTick(long)} callbacks.
- */
- public CountDownTimerUtils(TextView textView, long millisInFuture, long countDownInterval) {
- super(millisInFuture, countDownInterval);
- this.mTextView = textView;
- }
- @Override
- public void onTick(long millisUntilFinished) {
- mTextView.setClickable(false); //设置不可点击
- mTextView.setText(millisUntilFinished / 1000 + "秒后可重新发送"); //设置倒计时时间
- mTextView.setBackgroundResource(R.drawable.bg_identify_code_press); //设置按钮为灰色,这时是不能点击的
- /**
- * 超链接 URLSpan
- * 文字背景颜色 BackgroundColorSpan
- * 文字颜色 ForegroundColorSpan
- * 字体大小 AbsoluteSizeSpan
- * 粗体、斜体 StyleSpan
- * 删除线 StrikethroughSpan
- * 下划线 UnderlineSpan
- * 图片 ImageSpan
- * http://blog.csdn.net/ah200614435/article/details/7914459
- */
- SpannableString spannableString = new SpannableString(mTextView.getText().toString()); //获取按钮上的文字
- ForegroundColorSpan span = new ForegroundColorSpan(Color.RED);
- /**
- * public void setSpan(Object what, int start, int end, int flags) {
- * 主要是start跟end,start是起始位置,无论中英文,都算一个。
- * 从0开始计算起。end是结束位置,所以处理的文字,包含开始位置,但不包含结束位置。
- */
- spannableString.setSpan(span, 0, 2, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);//将倒计时的时间设置为红色
- mTextView.setText(spannableString);
- }
- @Override
- public void onFinish() {
- mTextView.setText("重新获取验证码");
- mTextView.setClickable(true);//重新获得点击
- mTextView.setBackgroundResource(R.drawable.bg_identify_code_normal); //还原背景色
- }
- }
使用:
CountDownTimerUtils mCountDownTimerUtils = new CountDownTimerUtils(mButton, 60000, 1000);
mCountDownTimerUtils.start();
Android中注册获取验证码倒计时按钮的更多相关文章
- android学习小例子——验证码倒计时按钮
1.activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andro ...
- 前端学习——ionic/AngularJs——获取验证码倒计时按钮
按钮功能为:点击"获取验证码"--按钮不可用-设置倒计时-60秒后重新获取. 代码借鉴于:http://plnkr.co/edit/Swj82MpJSix3a47jZRHP?p= ...
- Android 获取验证码倒计时实现
Android 获取验证码倒计时实现 2017年10月24日 09:55:41 FBY展菲 阅读数:2002 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- angular中service封装$http做权限时拦截403等状态及获取验证码倒计时、跨域问题解决
封装$http.做权限时拦截403等状态及获取验证码倒计时: 拦截接口返回状态 var app = angular.module('app'); app.factory('UserIntercepto ...
- Andorid实现点击获取验证码倒计时效果
这篇文章主要介绍了Andorid实现点击获取验证码倒计时效果,这种效果大家经常遇到,想知道如何实现的,请阅读本文 我们在开发中经常用到倒计时的功能,比如发送验证码后,倒计时60s再进行验证码的获取 ...
- iOS 短信验证码倒计时按钮的实现
验证码倒计时按钮的应用是非常普遍的,本文介绍了IOS实现验证码倒计时功能,点击获取验证码,进入时间倒计时,感兴趣的小伙伴们可以参考一下: 实现思路: 创建按钮,添加点击方法: 用NSTimer定时器, ...
- iOS项目中获取验证码倒计时及闪烁问题解决方案
-(void)startTime{ __block int timeout= 59; //倒计时时间 dispatch_queue_t queue = dispatch_get_global_queu ...
- js点击按钮获取验证码倒计时
//发送验证码倒计时 var clock = ''; var nums = 60; var btn; $("#btnGetVerCode").click(function () { ...
- clips 前端 js 倒计时 获取验证码的按钮
<a href="javascript:void(0);" onclick="get_captcha()" class="btn btn-def ...
随机推荐
- mac下mysql5.7.10密码问题
mysql5.7.10刚安装好,会生成一个随机密码. 如果没记住这个随机密码,那么到mysql/bin/下执行mysql_secure_installation命令 按照提示重置密码和其他选项. ps ...
- [翻译]API Guides - Service
官方文档原文地址:http://developer.android.com/guide/components/services.html Service是应用程序组件之一,它并不提供一个用户界面,可以 ...
- vscode如何用浏览器预览运行html文件
1,打开vscode编辑器,点击编辑器主界面左上侧第五个小图标——‘扩展’按钮: 2,进入扩展搜索右拉框,在应用商店搜索框中输入“view in browser”会自动进行搜索 3,等待几秒钟时间,扩 ...
- HDU4802_GPA
水题. #include <iostream> #include <cstdio> #include <cstring> using namespace std; ...
- jquery 集合注意点
- Robotframework SSHLibrary库关键字
1.连接远程机器 两种方法,一种用户名密码登录连接,一种是通过密钥连接 (1)用户名密码连接 (2)密钥连接 大概介绍下密钥:首先由用户生成一对密码,公钥与私钥:私钥是给需要连接的用户,连接时使用私钥 ...
- 抽屉点赞及jQuery CSS操作
1.需要用到的知识点: CSS处理 $('t1').css('color','red') 点赞: -$('t1').append() -$('t1').remove() -setInterval -o ...
- [洛谷P5137]polynomial
题目大意:求:$$\sum\limits_{i=0}^na^{n-i}b^i\pmod{p}$$$T(T\leqslant10^5)$组数据,$a,b,n,p\leqslant10^{18}$ 题解 ...
- 【Visual Installer】如何读取与写入注册表信息
引入:using Microsoft.Win32; (1)读取注册表信息 代码: RegistryKey rsg = null; rsg = Registry.LocalMachine.OpenSub ...
- (转载)Cobalt Strike tutorial下针对CVE-2017-0199利用
CVE-2017-0199利用OLE对象嵌入Word / RTF文档的方式,使得可以在没有用户交互的情况下执行其内容.OLE由许多不同的程序支持,OLE通常用于使在另一个程序中可用的程序中创建的内容. ...