如何显示内联ProgressBar微调器?

时间:2013-08-27 00:42:21

标签: android android-progressbar

我想在加载时(即不在对话框中)显示ProgressBar微调器代替另一个View。要清楚,我只希望ProgressBar替换一个View,而不是接管Window或Activity。

我能想到的最佳解决方案是将ProgressBar和实际的View放在布局中,ProgressBar可见性设置为VISIBLE,View可见性设置为GONE。加载后,我交换了他们的可见性。

这会有效,但我希望有一个更优雅的解决方案。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

  

我能想到的最佳解决方案是同时放置ProgressBar和   将布局中的实际视图设置为ProgressBar可见性   VISIBLE和View可见性设置为GONE。加载后,我交换   他们的知名度。

这是一个完全合法的解决方案。如果您不喜欢它,可以尝试以下方法:

添加一个空容器布局(LinearLayout,RelativeLayout等),放置ProgressBar或后面的View。在对话框视图中找到此容器:

container = (_____Layout) dialogView.findViewById(R.id.container_id); 

ProgressBar结束后创建Viewloading

ProgressBar pb = ....;

View v = ....;

在您的代码中,当loading开始时:

container.addView(pb);

loading完成后:

container.removeAllViews();
container.addView(v);

答案 1 :(得分:1)

如果您正在使用AdapterView,则可以调用setEmptyView()方法。有关示例,请参阅here