Android利用CountDownTimer实现点击获取验证码倒计时效果
作者:LoaderMan 发布时间:2023-09-09 21:09:54
标签:Android,CountDownTimer,倒计时
本文实例为大家分享了Android点击获取验证码倒计时的具体代码,供大家参考,具体内容如下
package com.loaderman.countdowntimerdemo;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView tvTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvTime = (TextView) findViewById(R.id.tv_time);
tvTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new countDownTimer<TextView>(tvTime);
}
});
}
public class countDownTimer<T> extends CountDownTimer {
private TextView mTextView;
public countDownTimer(T text) {
super(60000,1000);
this.mTextView = ((TextView)text);
mTextView.setClickable(false);
start();
}
/**
* start后开始执行的方法,按照间隔时间执行一次
* @param millisUntilFinished
*/
@Override
public void onTick(long millisUntilFinished) {
mTextView.setText(String.format("%s秒",millisUntilFinished/1000));
}
/**
* 时间结束时调用的方法
*/
@Override
public void onFinish() {
mTextView.setText("获取验证码");
mTextView.setClickable(true);
}
}
}
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
tools:context="com.loaderman.countdowntimerdemo.MainActivity">
<TextView
android:textColor="#F00"
android:textSize="18sp"
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始倒计时"/>
</RelativeLayout>
效果图:


猜你喜欢
- 运行结果:模拟器图库就三张 没办法~画质挺感人~一个隐式意图布局文件:<RelativeLayout xmlns:android=&q
- 由于今天用Security进行权限管理的时候出现了一些Bug,特此发这篇博客来补习一下对SpringSecurity的理解前言引入当今市面上
- 1. 控件说明SwipeRefreshLayout是google官方推荐使用的下拉刷新的控件,如果用户想通过垂直滑动手势刷新视图的内容,就可
- 引言在第一篇文章中我们分析了协程启动创建过程启动过程,在本文中,我们将着重剖析协程中协程调度的逻辑流程。主要是分析解答如下2个问题:涉及到协
- 现在很多电脑提供了蓝牙支持,很多笔记本网卡也集成了蓝牙功能,也可以采用USB蓝牙方便的连接手机等蓝牙设备进行通信。操作蓝牙要使用类库InTh
- 本文实例讲述了Android编程之自定义锁屏。分享给大家供大家参考,具体如下:花了半天时间研究下了自定义锁屏,发现其实实现并不是很神秘。不过
- 本文实例讲述了Android实现简单MD5加密的方法。分享给大家供大家参考,具体如下:网上关于android下MD5加密的资料很多,但是测试
- cron表达式每天整点执行一次的问题最近写了个发短信的定时任务,需求是每天上午10点发信息,然后我百度了一篇文章,复制了一个cron表达式:
- 前言周六在公司写Reactor模型,一女同事问我为啥都2023年了还在学习Reactor模型呀,我问她为啥快30的年纪了,周六还在公司看我写
- 模仿网易新闻客户端阅读偏好的频道选择,先看实现的页面: 直接上代码:import android.content.res.Resources
- 一、File流概念 JAVA中针对文件的读写操作设置了一系列的流,其
- 本文实例为大家分享了Unity3D仿写Button面板事件绑定功能的具体代码,供大家参考,具体内容如下最近在做一个情节引导得项目。其中一个需
- 最近微框架spring-boot很火,笔者也跟风学习了一下,废话不多说,现给出一个读取配置文件的例子。首先,需要在pom文件中依赖以下jar
- 1、结合字节码指令理解Java虚拟机栈和栈帧栈帧:每个栈帧对应一个被调用的方法,可以理解为一个方法的运行空间。每个栈帧中包括局部变量表(Lo
- 1、在设计初期阶段,应该要有意识的将不同的两层分离,比如考虑数据访问层、业务逻辑层、表示层之间建立外观模式,这样可以为子系统提供简单一致的接
- 记得当初自己刚开始学习Java的时候,对Java的IO流这一块特别不明白,所以写了这篇随笔希望能对刚开始学习Java的人有所帮助,也方便以后
- 前言:IntelliJ IDEA 如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是石器时代的东西了。其
- Objects工具类jdk 1.7引进的工具类,都是静态调用的方法,jdk 1.8新增了部分方法重点方法equals用于字符串和包装对象的比
- C语言 数据整除判断题目C语言编程实现——输入一个整数,判断它能否被 3,5,7 整除,并输出以下信
- 【诞生背景】最近在做某配置中心的时候,配置中心采用properties格式进行配置的(如下图)。而我们工程的项目配置文件是yml格式的(如下