Dialog 倒计时显示

这个小功能 还是比较简单的 直接上代码吧。

dialog = new SweetAlertDialog(this,SweetAlertDialog.WARNING_TYPE);
final MyCuDoTime time = new MyCuDoTime(30000,1000);

    dialog.setTitleText("退出系统").setCancelText("继续使用").setConfirmText("退  出")
            .showCancelButton(true)
            .setCancelClickListener(new SweetAlertDialog.OnSweetClickListener(){

                @Override
                public void onClick(SweetAlertDialog sweetAlertDialog) {
                    time.cancel();
                    dialog.cancel();
                }
            })
            .setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener(){

                @Override
                public void onClick(SweetAlertDialog sweetAlertDialog) {
                    time.cancel();
                    ActivityCollector.finishAll();
                }
            });
    dialog.show();
    time.start();

上面MyCuDoTime 是继承自Android原生的CountDownTimer ,这个类就是倒计时的
见下面代码:

private class MyCuDoTime extends CountDownTimer{

    public MyCuDoTime(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);
    }

    @Override
    public void onTick(long l) {
        dialog.setContentText(l/1000+" s");
    }

    @Override
    public void onFinish() {
        dialog.cancel();
        ActivityCollector.finishAll();
    }


}

这样就OK了。写的有不对的地方,请多多指教。

你可能感兴趣的:(Dialog 倒计时显示)