2013-01-15 92 views

回答

21

ProgressBar是一个视图(如TextView,ImageView,Button等等),它可以在你的布局中用来显示一些进度。

ProgressDialog是一个带有“内置”ProgressBar的对话框。可以使用对话框让用户在计算某些东西时等待。 ProgressDialog使您可以更轻松地在对话框中显示计算进度。

0

当你的迭代是可数(在做循环操作,执行代码x倍等)的使用进度,如果任务不是可数的状态(如调用Web服务)使用ProgressDialog

从Android文档

ProgressBar:在某些操作中视觉指示器的进度。向用户显示一个条形图,表示操作已经进行了多长时间;应用程序可以在前进时更改进度量 (修改小节的长度)。在进度条上还可显示 辅助进度,这对于显示中间进度(如 流式播放进度栏期间的缓冲级别)有用。

ProgressDialog:显示进度指示器和可选 文本消息或视图的对话框。 同时只能使用短信或视图。

37

ProgressBar

ProgressDialog

ProgressBarViewProgressDialogDialog

+1

这应该是公认的答案。 – learner

4

除了差异答案的其余部分中指出,应该考虑以下建议从Dialogs @ Android Developer

避免ProgressDialog

Android包含另一个名为ProgressDialog对话框类显示 带进度条的对话框。但是,如果您需要指明装载 或不确定的进度,则应该遵循的设计进展&活动 准则和您的 布局使用ProgressBar

它也可以有用考虑如下回答:

29

虽然这里的答案是信息,没有真正解决问题。

  • 如果要阻止用户在等待时与应用程序进行交互,请使用ProgressDialog。对话方面 冻结了用户做任何事情,直到它被解雇。请注意ProgressDialog背后的用户界面如何灰显并且无法访问。

ProgressDialog example

  • 使用一个进度指示某些在你的应用程序仍然是 等待(装载,思考,等等),而用户仍然可以与其他 部分进行交互。在这张图片中,用户仍然可以在等待gps回复时填写表格。

ProgressBar Example

(感谢Johnny S的ProgressDialog的图像。)

+0

也为pDialog,你不能使用后退箭头解雇它,而你可以使用它与pBar – monim