android中获取验证码后出现60秒的倒计时

很简单,只需要两步:

第一步:

新建一个类继承CountDownTimer

第二步:给按钮设置点击事件

全部代码如下

 

[java] view plain copy

  1. public class MainActivity extends Activity {    
  2.     private TimeCount time;    
  3.     private Button btnGetcode;    
  4.     @Override    
  5.     protected void onCreate(Bundle savedInstanceState) {    
  6.         super.onCreate(savedInstanceState);    
  7.         setContentView(R.layout.activity_main);    
  8.         time = new TimeCount(600001000);    
  9.         btnGetcode=(Button) findViewById(R.id.btn_getcode);    
  10.         btnGetcode.setOnClickListener(new OnClickListener() {    
  11.                   
  12.             @Override    
  13.             public void onClick(View v) {    
  14.                 time.start();    
  15.             }    
  16.         });    
  17.     }    
  18.     class TimeCount extends CountDownTimer {    
  19.       
  20.         public TimeCount(long millisInFuture, long countDownInterval) {    
  21.             super(millisInFuture, countDownInterval);    
  22.         }    
  23.       
  24.         @Override    
  25.         public void onTick(long millisUntilFinished) {    
  26.             btnGetcode.setBackgroundColor(Color.parseColor("#B6B6D8"));    
  27.             btnGetcode.setClickable(false);    
  28.             btnGetcode.setText("("+millisUntilFinished / 1000 +") 秒后可重新发送");    
  29.         }    
  30.       
  31.         @Override    
  32.         public void onFinish() {    
  33.             btnGetcode.setText("重新获取验证码");    
  34.             btnGetcode.setClickable(true);    
  35.             btnGetcode.setBackgroundColor(Color.parseColor("#4EB84A"));    
  36.       
  37.         }    
  38.     }    
  39.       
  40. }    

你可能感兴趣的:(android,常用功能小点)