用Handler与Timer实现progressDialog倒计时
来源:互联网 发布:水果竞猜php源码 编辑:程序博客网 时间:2024/04/30 07:55
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">写下这篇文章是为了以后用到时直接复制代码</span>
下面是实现Progressdialog在屏幕中央显示:
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="java">dialog = new ProgressDialog(getActivity()); dialog.setTitle("联网");//设置标题 dialog.setMessage("正在联网"+LinkTime+"s"); //设置说明文字 dialog.setIndeterminate(false); //设置进度条是否为不明确(来回旋转) dialog.setCanceledOnTouchOutside(false); //设置点击屏幕不消失 dialog.setCancelable(true); //设置进度条是否可以按退回键取消 Window wd = dialog.getWindow(); //获取屏幕管理器 WindowManager.LayoutParams lp = wd.getAttributes(); lp.alpha = 0.8f; //设置循环框的透明度 wd.setAttributes(lp); //设置弹出框的透明度 wd.setGravity(Gravity.CENTER); //设置水平居中 dialog.dismiss();//先隐藏起来,再在监听器中调用dialog.show()
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="html">下面是倒计时的实现方法:
<pre name="code" class="java">Handler handler = new Handler(){ @Override public void handleMessage(Message msg){ switch (msg.what) { case 1: dialog.setMessage("正在联网"+LinkTime+"s"); if(LinkTime < 0){ timer.cancel(); dialog.dismiss(); } } } };
</pre><pre name="code" class="java"><pre name="code" class="java"> public class MyTimerTask extends TimerTask { @Override public void run() { LinkTime--; Message message = new Message(); message.what = 1; handler.sendMessage(message); } };
监听器中调用,这之前需要先建立一个MyTimerTask对象task跟一个Timer对象计时实现task
<pre name="code" class="java"><pre name="code" class="java"> dialog.show(); if (task != null){ task.cancel(); //将原任务从队列中移除,不然倒计时没到取消后再次点击时会奔溃 } task=new MyTimerTask(); timer=new Timer(); timer.schedule(task, 1000,1000);
目前遇到一个问题便是倒计时没到,按返回键取消progressdialog后,再次点击按钮实现监听事件,虽然Timer不会奔溃,但是progressdialog不会再次显示出来,我尝试过重新new一个dialog也没有用,哪位仁兄告诉我怎么解决这个问题,感激不尽。
</pre><pre>
0 0
- 用Handler与Timer实现progressDialog倒计时
- Handler和Timer实现倒计时跳转页面
- Android----------Handler和Timer实现倒计时
- 倒计时 Timer和handler
- 实现ProgressDialog倒计时操作方法
- Handler和Timer实现倒计时和三秒跳转
- handler机制实现ProgressDialog
- Android 定时任务之Timer和Handler实现倒计时效果(附:adapter列表倒计时)
- timer实现倒计时
- timer实现倒计时
- 用Thread和Handler实现倒计时
- Andorid启动页倒计时用Handler实现
- Handler实现倒计时
- Android简易实战教程--第四十八话《Android - Timer、TimerTask和Handler实现倒计时》
- 倒计时五种方法,方法二:TimerTask与Handler(不用Timer的改进型)
- 关于Timer与handler
- 利用timer实现的倒计时
- Timer计时器实现倒计时跳转
- JDBC自定义 数据库连接池
- eclipse快捷键
- 日积月累:Proguard进行Android代码混淆
- 一些安卓的基本权限 清单配置文件
- HDU 1257 最少拦截系统(贪心)
- 用Handler与Timer实现progressDialog倒计时
- css三列布局,中间div固定,两侧div宽度自适应
- EasyAR-Unity SDK使用文档
- AsyncTask的基本用法
- [Q学习]QT对象模型:标识与值
- HDOJ 1029 STL MAP
- DP————1016
- 常用类
- LR结果分析设置是否包括think time