时间:2021-05-20
网站中为了防止恶意获取验证短信、验证邮箱,都会在点击获取验证码的按钮上做个倒计时的效果,如何实现这个效果,具体内容如下
效果图:
代码:
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>以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
手机获取验证码的倒计时效果,实现很简单,附倒计时效果完整代码之前做项目使用的是nstimer做的倒计时效果,效果不太好。今天学习了下用gcd做,效果还是不错的。
本文实例为大家分享了微信小程序实现获取验证码倒计时效果的具体代码,供大家参考,具体内容如下wxml{{time}}jsvarinterval=null//倒计时
目前越来越多的app在注册或是进行对应操作时,要求获取短信验证码,在点击了获取短信验证码的按钮后,就是出现倒计时,比如倒计时120S,在倒计时期间内,按钮背景变
场景:注册账号页面时,我们点击按钮发送验证码,在等待验证码时,界面会有倒计时提示,这此期间按钮不可点击。当倒计时结束时,按钮恢复。实现与功能都不难,这次用RxB
1、功能描述 当用户想要获取验证码时,就点击免费获取验证码,然后开始倒计时,倒计时期间按钮文字为剩余时间x秒,且不可按状态,倒计时结束后,按钮更改为点击重新发