一.xml页面
1.编写文本和按钮控件
<EditText
android:id="@+id/phoneVerify"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:layout_gravity="center"
android:background="@null"
android:lines="1"
android:singleLine="true"
android:gravity="start"
android:maxLines="1"
android:inputType="numberPassword"
android:hint="请输入验证码"
android:textSize="15sp" />
<Button
android:id="@+id/btn_phoneVerify"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="获取验证码"
android:textColor="#fff"
android:background="@drawable/verify_style"/>
二.编写java页面
1.在Activity页面中获取控件id和button的id并设置button的id的点击事件
//获取id
btn_graphVerify = findViewById(R.id.btn_graphVerify);
//button的id的点击事件
btn_phoneVerify.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
TimeCount helper = new TimeCount(this,60000,btn_phoneVerify);
helper.start();
//此方法为我公司点击获取短信验证码接口,这里可以添加自己公司的方法
getverifyLogin();
}
2.新建一个TimeCount帮助类
public class TimeCount extends CountDownTimer {
private static final int TIME_TASCK = 1000;
private Button button;
private Context context;
public TimeCount(Context context, long millisInFuture, Button view) {
super(millisInFuture, TIME_TASCK);
button = view;
this.context = context;
}
@Override
public void onFinish() {// 计时完毕
button.setTextColor(context.getResources().getColor(R.color.white));
button.setBackgroundResource(R.drawable.verify_style);
button.setText("再次获取");
button.setClickable(true);
}
@Override
public void onTick(long millisUntilFinished) {// 计时过程
button.setTextColor(context.getResources().getColor(R.color.white));
button.setClickable(false);//防止重复点击
button.setBackgroundResource(R.drawable.unverify_style);
button.setText(millisUntilFinished / TIME_TASCK+"秒后可重发");
}
}