7

Dialogs @ Android Developer说要避免 ProgressDialog 指示加载,而是在布局中放置一个活动指示器。

Progress & Activity @Android Developer讨论了活动指标,但没有命名使用的类。我在搜索名称为 ActivityBar、ActivityCircle 或 ActivityIndi​​cator 的 Android 类时运气不佳。

我在哪里可以找到关于 Android 支持在我的布局中包含活动指示器的文档(教程、示例或 API 文档),避免使用 ProgressDialog?

更新: full.stack.ex 为我指出了正确的答案。

首先,在调用 setContentView() 之前,在 Activity 的 onCreate() 方法中包含以下代码:

requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

接下来,在加载之前(例如启动 AsyncTaskLoader),使用此调用使微调器出现:

setProgressBarIndeterminateVisibility(true);

最后,加载完成后,再次隐藏微调器:

MainActivity.this.setProgressBarIndeterminateVisibility(false);

答对了!不需要 ProgressDialog。使微调器可见似乎会大大减慢模拟器中的加载速度(它需要几分钟而不是几秒钟),但在我的实际手机上却没有。我不确定是否有任何方法可以使微调器使用更少的 CPU 周期。

4

3 回答 3

5

从文档中看,有一个窗口功能并不是很明显。

这是一个内置的进度指示器:

Activity.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

developer.android.com/reference/android/app/Activity.html#requestWindowFeature(int)

于 2013-01-24T07:07:45.097 回答
1

我过去倾向于使用动画 gif 图像。生成它们的好网站是

http://www.ajaxload.info/

于 2013-01-23T14:22:54.513 回答
1

你说的是 ProgressBar 类(我猜):http: //developer.android.com/reference/android/widget/ProgressBar.html

于 2013-01-23T14:19:00.190 回答