在Android开发中,很多APP中都使用到验证码的获取功能,获取验证码的界面在点击获取验证码之后会有时间的变化和限制以及获取验证码的按钮不可再按。实现该界面的操作如下:
首先我们在XML文件中创建一个Button,并给它命名为Captcha,设置好各种属性,这里不再赘述。
接下来,我们编写Activity.java文件。在.java文件中实现倒计时效果是使用CountDownTime类实现的。
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private TimeCount time;
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_zhuce);
time=new TimeCount(60000,1000);
bt=findViewById(R.id.Captcha);
bt.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch(view.getId()){
case R.id.Captcha:
time.start();
break;
}
}
class TimeCount extends CountDownTimer{
public TimeCount(long m,long n){
super(m,n);
}
@Override
public void onTick(long l) {
bt.setBackgroundColor(Color.parseColor("#B6B6D8"));
bt.setClickable(false);
bt.setText("("+l/1000+")秒后可重新发送");
}
@Override
public void onFinish() {
bt.setText("重新获取验证码");
bt.setClickable(true);
bt.setBackgroundColor(Color.parseColor("#4EB84A"));
}
}
}
欢迎大佬评论探讨·······