最近项目中有涉及到android倒计时读秒功能的实现,于是上网搜了一下,各种方式都有,但是感觉要么存在bug,要么有点复杂,于是在参考了一些他人的实现方式后,自己写了一个。
代码如下:

public class MainActivity extends Activity {

private TimeCount timeCount;

private Button btn;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
timeCount = new TimeCount(10000, 1000);
btn = (Button) findViewById(R.id.btn);

btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
timeCount.start();
}

});
}

class TimeCount extends CountDownTimer {
public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}

public void onFinish() {
btn.setText("获取验证码");
btn.setBackgroundResource(R.drawable.obtain_btn_bg);//正常背景
btn.setClickable(true);
}

public void onTick(long millisUntilFinished) {
btn.setClickable(false);
btn.setBackgroundResource(R.drawable.obtain_reading);//倒计时时灰色背景

btn.setText(millisUntilFinished / 1000 + "s后重新获取");
}
}
}

更多相关文章

  1. android背景选择器selector用法汇总
  2. android 系统资源的加载和获取
  3. Android应用程序获取ROOT权限的方法
  4. Android之底部弹窗对话框
  5. android中判断横屏或者竖屏并改变背景
  6. android中判断横屏或者竖屏并改变背景
  7. Android(安卓)之 ContentProvider 共享数据库-通讯录
  8. android中使用properties文件配置
  9. Android下uptime获取系统启动和运行时间

随机推荐

  1. Android网络抓包
  2. Android开发实践 界面编程(中)
  3. Android——SpannableString字体大小不一
  4. 1个dp到底有多长
  5. Android 获取通话记录和短信内容
  6. Android,View设置margin
  7. Android View刷新机制
  8. Gridview制作表格
  9. Android中的TextView超过n行显示省略号
  10. Android HTTPS实战1