android 进度条设置显示格式

来源:互联网 发布:淘宝实战培训 编辑:程序博客网 时间:2024/06/08 01:34
自定义显示格式: 
progressDialog.setProgressNumberFormat("%1d kb/%2d kb");  
当前进度填入%1d位置,总数填入%2d。 
这个方法是自动填充的,只要在初始化时,加上这一句, 
调用progressDialog.setMax(int )后会自动将总数填入%2d. 
同理,调用progressDialog.setProgress(int )后会自动将当前进度填入%1d. 

但是,从setMax,setProgress的输入参数可知这2个方法只接收整数。 
如果进度显示的样式只要求为整数形式,那么在初始化时,定义一次 
progressDialog.setProgressNumberFormat("%1d kb/%2d kb"); 就可以了。 

那要如何显示小数呢? 很简单,既然setProgressNumberFormat()能显示自定义的"/","kb", 
这些字符,那么就能显示我们需要的自定义字符串。所以,干脆就让这个方法不接收前面 
说的当前进度%1d,和总数%2d,而是直接显示我们需要的处理好的字符串即可: 
(文件大小fileLength,已下载大小downLength) 
初始化时: progressDialog.setMax(fileLength); 
每一次刷新下载进度时: 
progressDialog.setProgress(downLength); 
float all = fileLength/1024/1024; 
float percent = downLength/1024/1024; 
progressDialog.setProgressNumberFormat(String.format("%.2fM/%.2fM", percent, all)); 

注意:setProgressNumberFormat这个方法要求版本最小为 android:minSdkVersion="11" 
0 0