自定义显示格式:
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"
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"