android实战项目五做一个倒计时的button

显示倒计时的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()方法就行了;
posted @ 2016-04-13 20:26  Tesi1a  阅读(190)  评论(0编辑  收藏  举报