栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android手机验证码倒计时控件,最新Android面试合集

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android手机验证码倒计时控件,最新Android面试合集

mFinishListener = listener;

}

public interface onFinishListener {

void onFinish();

}

public void setonSendCheckCodeListener(onSendCheckCodeListener listener) {

mSendCheckCodeListener = listener;

}

public interface onSendCheckCodeListener {

void sendCheckCode();

}

public void performonClick(boolean phoneNumber) {

if (!phoneNumber) {

Toast.makeText(getContext(), “手机号格式不正确”, Toast.LENGTH_SHORT).show();

return;

}

if (canSend) {

setMillisecond(60 * 1000); // 每次发送之前 要将倒计时的时间更新为最初的时间

startSend();//执行发送验证码的逻辑

canSend = false;// 1 分钟之内不能重复发送

}

}

}

用法如下:

package com.qj.checkcodecountdown;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.text.TextUtils;

import android.view.View;

import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

private CheckCodeCountDown mCheckCodeCountDown;

private EditText mPhoneNumber;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

initData();

initListener();

}

private void initView() {

mCheckCodeCountDown = (CheckCodeCountDown) findViewById(R.id.checkcode);

mPhoneNumber = (EditText) findViewById(R.id.phone_number);

}

private void initData() {

}

private void initListener() {

mCheckCodeCountDown.setonClickListener(new View.onClickListener() {

@Override

public void onClick(View view) {

//必须调用 , 输入框中输入的是手机号 true , 否则 false ,这么做是为了防止不是手机号也进入倒计时

boolean phoneNumber = isPhoneNumber(mPhoneNumber.getText().toString());

mCheckCodeCountDown.performonClick(phoneNumber);

}

});

mCheckCodeCountDown.setonSendCheckCodeListener(new CheckCodeCountDown.onSendCheckCodeListener() {

@Override

public void sendCheckCode() {

// TODO 向手机发送验证码的逻辑

}

});

mCheckCodeCountDown.setonFinishListener(new CheckCodeCountDown.onFinishListener() {

@Override

public void onFinish() {

// TODO 计时结束后的操作

mCheckCodeCountDown.setText(“重新发送”);

}

});

}

private boolean isPhoneNumber(String mobiles) {

String telRegex = “[1][3578]d{9}”;

if (TextUtils.isEmpty(mobiles)) return false;

else return mobiles.matches(telRegex);

}

}

activity_main

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:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=“com.qj.checkcodecountdown.MainActivity”>

android:id="@+id/phone_number"

android:layout_width=“200dp”

android:layout_height=“50dp”

android:layout_centerHorizontal=“true”

android:gravity=“center”

android:hint=“请输入手机号”

android:inputType=“number”/>

android:id="@+id/checkcode"

android:layout_width=“75dp”

android:layout_height=“35dp”

android:layout_below="@id/phone_number"

android:layout_centerHorizontal=“true”

android:layout_marginTop=“5dp”

android:background="@drawable/user_get_check_code_border_shape"

android:gravity=“center”

android:text=“点击发送”/>

user_get_check_code_shape

android:width=“1dp”

android:color="#1bb5d7"/>


源码下载地址

-我的模块 注册 修改密码页面获取验证码控件的背景外框–>

android:width=“1dp”

android:color="#1bb5d7"/>


源码下载地址

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/716594.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号