hpi*_*que 9 android progressdialog
Android的ProgressDialog允许您将当前进度和最大值设置为整数.这些值在对话框中显示如下:
一万〇二十三分之三千四百〇一
第一个数字是当前进度,第二个数字是最大值.
我还想展示测量单位.像这样的东西:
3401/10023 KB
这可能使用ProgressDialog吗?如果没有,您建议您将此信息提供给用户?我试图避免重新实现ProgressDialog以包含该单元.
更新:setProgressNumberFormat自11级以来是API的一部分.
的HEAD所述的ProgressDialog源代码已经包括被称为公共函数setProgressNumberFormat,其可用于设置该单元.不幸的是,这个功能似乎没有在最新的Android版本中提供.我想它将包含在未来的更新中.
与此同时,复制此实现ProgressDialog是最佳选择.子类ProgressDialog是没有用的,因为它的所有成员都是私有的,并且直接view.findViewById(R.id.progress_number)获取TextView是非常危险的,因为没有什么能确保id总是相同的(或者TextView它将永远存在).
在ProgressDialog源文件中:
mViewUpdateHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
/* Update the number and percent */
int progress = mProgress.getProgress();
int max = mProgress.getMax();
double percent = (double) progress / (double) max;
mProgressNumber.setText(progress + "/" + max);
mProgressPercent.setText(mProgressPercentFormat.format(percent));
}
};
Run Code Online (Sandbox Code Playgroud)
你必须重新实现它,你无法避免它
从API 11开始,您可以调用以下函数来实现您的目的.
mProgressDialog.setProgressNumberFormat("%1d/%2d kB")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7328 次 |
| 最近记录: |