首页 > 系统 > Android > 正文

Android使用CountDownTimer模拟短信验证倒计时

2019-10-21 21:46:13
字体:
来源:转载
供稿:网友

本文为大家分享了CountDownTimer模拟短信验证倒计时的具体代码,供大家参考,具体内容如下

Android,CountDownTimer,短信验证,倒计时

内容:介绍倒计时CountDownTimer的基本使用方法。模拟短信验证

步骤:

1、继承CountDownTimer,重写onTick()、onFinish()

2、代码中new出CountDownTimer子类,传好参数,调用start()执行

代码如下:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.leixiansheng.countdowntimer.MainActivity">  <TextView  android:id="@+id/tv_getMsg"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_centerInParent="true"  android:text="获取短信验证码"  android:background="@color/colorPrimaryDark"  android:textSize="16sp"  android:textColor="#ffffffff" /></RelativeLayout>

TimerCount

package com.example.leixiansheng.countdowntimer; import android.os.CountDownTimer;import android.widget.TextView; /** * Created by Leixiansheng on 2018/7/18. */ public class TimerCount extends CountDownTimer {  private TextView mTextView;   public TimerCount(long millisInFuture, long countDownInterval, TextView textView) { super(millisInFuture, countDownInterval); mTextView = textView; }  @Override public void onTick(long millisUntilFinished) { mTextView.setClickable(false); mTextView.setText("重新获取" + millisUntilFinished / 1000 + "秒"); }  @Override public void onFinish() { mTextView.setClickable(true); mTextView.setText("获取短信验证码"); }}

Main

package com.example.leixiansheng.countdowntimer; import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.TextView; public class MainActivity extends AppCompatActivity {   @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);  final TextView textView = (TextView) findViewById(R.id.tv_getMsg); textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { /**  * millisInFuture:要计数的总时长  * countDownInterval:每隔多少秒响应  */ TimerCount timerCount = new TimerCount(5000, 1000, textView); timerCount.start(); } }); }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。 


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表