Android账号注册实现点击获取验证码倒计时效果
程序员文章站
2024-03-01 17:40:58
网站中为了防止恶意获取验证短信、验证邮箱,都会在点击获取验证码的按钮上做个倒计时的效果,如何实现这个效果,具体内容如下
效果图:
代码:
regist...
网站中为了防止恶意获取验证短信、验证邮箱,都会在点击获取验证码的按钮上做个倒计时的效果,如何实现这个效果,具体内容如下
效果图:
代码:
registeractivity.java
import android.os.bundle; import android.support.v7.widget.toolbar; import android.view.view; import android.widget.button; import com.jialianjia.bzw.baseactivity; import com.jialianjia.bzw.r; import com.jialianjia.bzw.utils.countdownbuttonhelper; import com.lidroid.xutils.viewutils; import com.lidroid.xutils.view.annotation.viewinject; /** * 注册功能 * created by gxs on 2016/4/21. */ public class registeractivity extends baseactivity{ private button btn_yzm; @viewinject(r.id.toolbar) toolbar toolbar; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_register); viewutils.inject(this); inittoolbar(toolbar,"账号注册",true); // 获取验证码--start btn_yzm = (button) findviewbyid(r.id.btn_yzm); btn_yzm.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { countdownbuttonhelper helper = new countdownbuttonhelper(btn_yzm,"倒计时",60,1); helper.setonfinishlistener(new countdownbuttonhelper.onfinishlistener() { @override public void finish() { // toast.maketext(registeractivity.this,"倒计时结束",toast.length_short).show(); btn_yzm.settext("再次获取"); } }); helper.start(); } }); // 获取验证码--end } }
布局文件:
activity_register.xml
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorprimary" android:theme="@style/apptheme.appbaroverlay" android:fitssystemwindows="true" /> <linearlayout android:layout_height="50dp" android:layout_width="match_parent" android:layout_margintop="10dp" android:layout_marginright="10dp" android:layout_marginleft="10dp" android:background="@color/white" android:orientation="horizontal"> <textview android:id="@+id/tv_phone" android:layout_width="60dp" android:layout_height="wrap_content" android:text="@string/tv_info_phone" android:layout_margin="8dp" android:textcolor="@color/black" android:layout_gravity="center_vertical" android:textsize="17sp"/> <edittext android:id="@+id/et_phone" android:layout_width="190dp" android:layout_height="35dp" android:layout_torightof="@id/tv_phone" android:background="@null" android:hint="@string/edt_phone_tips" android:maxlength="20" android:layout_gravity="center_vertical" android:singleline="true" android:textsize="16sp" /> <view android:layout_width="2px" android:layout_height="50dp" android:background="@color/driverline" /> <button android:id="@+id/btn_yzm" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_marginleft="3dp" android:layout_gravity="center" android:background="@color/white" android:text="@string/btn_yzm_text"/> </linearlayout> <view android:id="@+id/view_line" android:layout_width="match_parent" android:layout_height="1dp" android:layout_below="@id/tv_phone" android:layout_marginleft="10dp" android:layout_marginright="10dp" android:background="@color/driverline" /> <linearlayout android:layout_height="50dp" android:layout_width="match_parent" android:layout_margintop="10dp" android:layout_marginright="10dp" android:layout_marginleft="10dp" android:background="@color/white" android:orientation="horizontal"> <textview android:id="@+id/tv_yzm" android:layout_width="60dp" android:layout_height="wrap_content" android:text="@string/tv_yzm_text" android:layout_margin="8dp" android:textcolor="@color/black" android:layout_gravity="center_vertical" android:textsize="17sp"/> <edittext android:id="@+id/et_yzm" android:layout_width="190dp" android:layout_height="35dp" android:layout_torightof="@id/tv_phone" android:background="@null" android:hint="@string/edt_yzm_tips" android:maxlength="20" android:layout_gravity="center_vertical" android:singleline="true" android:textsize="16sp" /> </linearlayout> <view android:id="@+id/view_line1" android:layout_width="match_parent" android:layout_height="1dp" android:layout_below="@id/tv_phone" android:layout_marginleft="10dp" android:layout_marginright="10dp" android:background="@color/driverline" /> <linearlayout android:layout_height="50dp" android:layout_width="match_parent" android:layout_margintop="10dp" android:layout_marginright="10dp" android:layout_marginleft="10dp" android:background="@color/white" android:orientation="horizontal"> <textview android:id="@+id/tv_password" android:layout_width="60dp" android:layout_height="wrap_content" android:text="@string/tv_password_text" android:layout_margin="8dp" android:textcolor="@color/black" android:layout_gravity="center_vertical" android:textsize="17sp"/> <edittext android:id="@+id/et_password" android:layout_width="190dp" android:layout_height="35dp" android:layout_torightof="@id/tv_phone" android:background="@null" android:hint="@string/edt_password_text" android:maxlength="20" android:layout_gravity="center_vertical" android:singleline="true" android:textsize="16sp" /> </linearlayout> <view android:id="@+id/view_line2" android:layout_width="match_parent" android:layout_height="1dp" android:layout_below="@id/tv_phone" android:layout_marginleft="10dp" android:layout_marginright="10dp" android:background="@color/driverline" /> <button android:id="@+id/btn_regist" android:layout_width="match_parent" android:layout_height="45dp" android:layout_margintop="30dp" android:layout_marginleft="10dp" android:layout_marginright="10dp" android:background="@drawable/btn_select" android:gravity="center" android:padding="5dp" android:text="@string/btn_regist_text" android:textcolor="@color/white" android:textsize="16sp" /> </linearlayout>
以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持。
上一篇: Java中的== 和equals()方法详解与实例
下一篇: Python编写登陆接口的方法
推荐阅读