15、android 用toast实现简单的进度显示
2015-02-27 16:45
435 查看
if(mtoast!=null) { mtoast.setText(progress); } else { mtoast=Toast.makeText(getApplicationContext(),progress, Toast.LENGTH_SHORT); } mtoast.show(); //显示toast信息
上述代码就完成了基本功能。
1、为什么会有这个问题?
我们知道如果用Toast.makeText(...)这种方式,那么生成的toast会进行排队,在上一个toast的有效时间没有结束前,不能够更新toast的内容。
那么问题来了,如果想用toast实现简单的,快速的消息提醒,上述排队的方式自然不能满足我们的需求
2、过程分析
我们首先定义一个Toast类型的mtoast并赋值为空。
那么在循环显示进度的方法中,我们引用最上边那段代码:
①如果mtoast为空,就实例化一个Toast变量,同时显示进度;
②在接下来每次进入显示进度的方法中,更改mtoast的显示文本,从而实现进度提醒的作用
3、代码片段赏析:
1 HttpUtils http = new HttpUtils(); for(int i=0;i<fontName.length;i++) { String path = pathPrefix+fontName[i]; nowDownloadFontName = pathFonts+fontName[i]; http.download(path, pathFonts+fontName[i],new RequestCallBack<File>() { @Override public void onStart() { CommonUtils.LogWuwei(tag,"开始下载..."); } @Override public void onLoading(long total, long current, boolean isUploading) { CommonUtils.LogWuwei(tag,"下载进度:"+((current*100)/total)+"%"); String progress = "加载字体中,已下载:"+((current*100)/total)+"%"; if(mtoast!=null) { mtoast.setText(progress); } else { mtoast=Toast.makeText(getApplicationContext(),progress, Toast.LENGTH_SHORT); } mtoast.show(); //显示toast信息 } @Override public void onSuccess(ResponseInfo<File> responseInfo) { CommonUtils.LogWuwei(tag,"下载成功,文件已经保存至:" + responseInfo.result.getPath()); String progress = "下载成功,文件已经保存至:" + responseInfo.result.getPath(); if(mtoast!=null) { mtoast.setText(progress); } else { mtoast=Toast.makeText(getApplicationContext(),progress, Toast.LENGTH_SHORT); if(responseInfo.result.getPath().equals(pathFonts+"pianpina.ttf")) { mtoast=Toast.makeText(getApplicationContext(),"初始化完毕,谢谢您的耐心等待", Toast.LENGTH_SHORT); } } mtoast.show(); //显示toast信息 if(responseInfo.result.getPath().equals(pathFonts+"pianpina.ttf")) { judgeGoClientOrTv(); } } @Override public void onFailure(HttpException error, String msg) { CommonUtils.LogWuwei(tag,"下载失败:"+msg+error); } }); }
4、有图有真相
![](https://oscdn.geek-share.com/Uploads/Images/Content/202003/22/124eb9b99974d7da437ebccaaea6ac12.jpg)
ok,That's all
2015.3.7更新:
android Toast大全(五种情形)建立属于你自己的Toast
相关文章推荐
- Android 简单实现app通知栏更新及显示进度
- Android Toast带图标水平布局的简单实现
- Ajax请求过程中显示“进度”的简单实现
- Android中简单实现从网络下在图片显示并保存在本地
- 自定义View实现Android圆形进度条,支持自定义显示的样式
- android自定义View之(二)------简单进度条显示样例篇
- Android Toast带图标水平布局的简单实现
- C#进度显示的简单实现
- 【android】自定义ProgressDialog实现暂时隐藏进度值并显示等待状态(附源码下载)
- Android之Toast简单实现不循环提示
- android自定义View实现图片上传进度显示(仿手机QQ上传效果)
- Android:Toast在Service组件中实现其显示功能
- Android之Toast简单实现不循环提示
- android通过service实现更新并显示下载进度条,最后自动安装实例
- Java动态显示文件上传进度的简单实现
- Ajax请求过程中显示“进度”的简单实现
- Android之Toast简单实现不循环提示
- android修改显示语言简单实现
- Android学习—超简单实现带进度ProgressBar滚动条
- Ajax请求过程中显示“进度”的简单实现