首页 > 代码库 > Dialog中显示倒计时,到时自动关闭
Dialog中显示倒计时,到时自动关闭
这里直接用系统Dialog中添加了倒计时的显示,如果用自定义Dialog会更美观;
private TextView mOffTextView; private Handler mOffHandler; private Timer mOffTime; private Dialog mDialog;//////创建对话框void initDialog(){ mOffTextView = new TextView(this); mDialog = new AlertDialog.Builder(this) .setTitle("提示") .setCancelable(false) .setView(mOffTextView) //// .setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { mOffTime.cancel(); off();////关闭后的一些操作 } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); mOffTime.cancel(); } }) .create(); mDialog.show(); mDialog.setCanceledOnTouchOutside(false); mOffHandler = new Handler() { public void handleMessage(Message msg) { if (msg.what > 0) { ////动态显示倒计时 mOffTextView.setText(" 即将关闭:"+msg.what); } else { ////倒计时结束自动关闭 if(mDialog!=null){ mDialog.dismiss(); } off();////关闭后的操作 mOffTime.cancel(); } super.handleMessage(msg); } }; //////倒计时 mOffTime = new Timer(true); TimerTask tt = new TimerTask() { int countTime = 10; public void run() { if (countTime > 0) { countTime--; } Message msg = new Message(); msg.what = countTime; mOffHandler.sendMessage(msg); } }; mOffTime.schedule(tt, 1000, 1000); }
效果图
Dialog中显示倒计时,到时自动关闭
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。