显示倒计时的Button按钮
先来看看xml布局文件
要用到CountDownTimer这个类从名字上面大家就可以看出来,记录下载时间。将后台线程的创建和Handler队列封装成一个方便的类调用。
具体代码如下
public class Buttontimer extends Activity {
private Timecount timer;
private Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.buttontimer);
btn1 = (Button) findViewById(R.id.btn_time);
timer=new Timecount(60000,1000);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
timer.start();
}
});
}
class Timecount extends CountDownTimer {
public Timecount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onTick(long millisUntilFinished) {
btn1.setEnabled(false);
btn1.setText(millisUntilFinished / 1000 + "秒");
}
@Override
public void onFinish() {// 计时结束
btn1.setEnabled(true);
btn1.setText("重新获取");
}
}
}
注意重写CountDownTimer里面的两个抽象方法,onTick()方法是开始执行时的方法。onFinish()是执行完成之后的调用的方法。
//btn1.setEnabled(false);使按钮是否可以继续按下。
后代进程封装的调用 当你想取消时
调用time.cancle()方法就行了;