15、android 用toast实现简单的进度显示
16lz
2022-03-19
1 if(mtoast!=null)2 {3 mtoast.setText(progress); 4 }5 else6 {7 mtoast=Toast.makeText(getApplicationContext(),progress, Toast.LENGTH_SHORT);8 } 9 mtoast.show(); //显示toast信息
上述代码就完成了基本功能。
1、为什么会有这个问题?
我们知道如果用Toast.makeText(...)这种方式,那么生成的toast会进行排队,在上一个toast的有效时间没有结束前,不能够更新toast的内容。
那么问题来了,如果想用toast实现简单的,快速的消息提醒,上述排队的方式自然不能满足我们的需求
2、过程分析
我们首先定义一个Toast类型的mtoast并赋值为空。
那么在循环显示进度的方法中,我们引用最上边那段代码:
①如果mtoast为空,就实例化一个Toast变量,同时显示进度;
②在接下来每次进入显示进度的方法中,更改mtoast的显示文本,从而实现进度提醒的作用
3、代码片段赏析:
1 HttpUtils http = new HttpUtils(); 2 for(int i=0;i<fontName.length;i++) 3 { 4 String path = pathPrefix+fontName[i]; 5 nowDownloadFontName = pathFonts+fontName[i]; 6 http.download(path, pathFonts+fontName[i],new RequestCallBack<File>() { 7 8 @Override 9 public void onStart() {10 CommonUtils.LogWuwei(tag,"开始下载...");11 }12 13 @Override14 public void onLoading(long total, long current, boolean isUploading) {15 CommonUtils.LogWuwei(tag,"下载进度:"+((current*100)/total)+"%");16 String progress = "加载字体中,已下载:"+((current*100)/total)+"%";17 18 if(mtoast!=null)19 {20 mtoast.setText(progress); 21 }22 else23 {24 mtoast=Toast.makeText(getApplicationContext(),progress, Toast.LENGTH_SHORT);25 } 26 mtoast.show(); //显示toast信息27 }28 29 @Override30 public void onSuccess(ResponseInfo<File> responseInfo) {31 CommonUtils.LogWuwei(tag,"下载成功,文件已经保存至:" + responseInfo.result.getPath());32 33 String progress = "下载成功,文件已经保存至:" + responseInfo.result.getPath();34 if(mtoast!=null)35 {36 mtoast.setText(progress); 37 }38 else39 {40 mtoast=Toast.makeText(getApplicationContext(),progress, Toast.LENGTH_SHORT);41 if(responseInfo.result.getPath().equals(pathFonts+"pianpina.ttf"))42 {43 mtoast=Toast.makeText(getApplicationContext(),"初始化完毕,谢谢您的耐心等待", Toast.LENGTH_SHORT);44 }45 46 } 47 mtoast.show(); //显示toast信息48 49 if(responseInfo.result.getPath().equals(pathFonts+"pianpina.ttf"))50 {51 judgeGoClientOrTv();52 }53 }54 55 56 @Override57 public void onFailure(HttpException error, String msg) {58 CommonUtils.LogWuwei(tag,"下载失败:"+msg+error); 59 }60 });61 }
4、有图有真相
ok,That's all
2015.3.7更新:
android Toast大全(五种情形)建立属于你自己的Toast
更多相关文章
- Android使用HttpURLConnection显示网络图片
- Android监听键盘显示和隐藏
- android日期控件显示
- android 上传/下载 图片
- android 利用Canvas显示局部图片
- Android总结笔记
- android 键盘关闭/显示
- Android使用URLConnection显示网络图片
- Android全屏显示