Dialogs @ Android Developer建议避免使用ProgressDialog来指示加载进度,而是将活动指示器放在布局中。
Progress & Activity @ Android Developer讨论了活动指示器,但没有提到使用的类名称。我搜索Android类时没有找到名称为ActivityBar、ActivityCircle或ActivityIndicator的类。
我在哪里可以找到有关Android支持在布局中包含活动指示器以避免使用ProgressDialog的文档(教程、示例或API文档)?
更新:full.stack.ex给了我正确的答案。
首先,在调用setContentView()之前,在Activity的onCreate()方法中包含以下代码:
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
接下来,在加载之前(例如启动AsyncTaskLoader之前),使用此调用使旋转器出现:
setProgressBarIndeterminateVisibility(true);
最后,在加载完成后,再次隐藏旋转图标:
MainActivity.this.setProgressBarIndeterminateVisibility(false);
太棒了!不需要ProgressDialog。在模拟器上让旋转图标可见似乎会显著减慢加载速度(需要数分钟而不是数秒),但在我的实际手机上没有这个问题。我不确定是否有任何方法可以减少旋转图标使用的CPU周期。