很简单,只需要两步:
第一步:
新建一个类继承CountDownTimer
第二步:给按钮设置点击事件
全部代码如下
[java] view plain copy
- public class MainActivity extends Activity {
- private TimeCount time;
- private Button btnGetcode;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- time = new TimeCount(60000, 1000);
- btnGetcode=(Button) findViewById(R.id.btn_getcode);
- btnGetcode.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- time.start();
- }
- });
- }
- class TimeCount extends CountDownTimer {
- public TimeCount(long millisInFuture, long countDownInterval) {
- super(millisInFuture, countDownInterval);
- }
- @Override
- public void onTick(long millisUntilFinished) {
- btnGetcode.setBackgroundColor(Color.parseColor("#B6B6D8"));
- btnGetcode.setClickable(false);
- btnGetcode.setText("("+millisUntilFinished / 1000 +") 秒后可重新发送");
- }
- @Override
- public void onFinish() {
- btnGetcode.setText("重新获取验证码");
- btnGetcode.setClickable(true);
- btnGetcode.setBackgroundColor(Color.parseColor("#4EB84A"));
- }
- }
- }