我想在加载时(即不在对话框中)显示ProgressBar微调器来代替另一个View。为了清楚起见,我只希望ProgressBar替换一个View,而不是接管Window或Activity。如何显示内联ProgressBar微调器?
我能想到的最佳解决方案是在布局中放置ProgressBar和实际视图,并将ProgressBar可见性设置为可见,并将视图可见性设置为“无效”。加载后,我换了他们的知名度。
这将工作,但我希望有一个更优雅的解决方案。有什么建议么?
我想在加载时(即不在对话框中)显示ProgressBar微调器来代替另一个View。为了清楚起见,我只希望ProgressBar替换一个View,而不是接管Window或Activity。如何显示内联ProgressBar微调器?
我能想到的最佳解决方案是在布局中放置ProgressBar和实际视图,并将ProgressBar可见性设置为可见,并将视图可见性设置为“无效”。加载后,我换了他们的知名度。
这将工作,但我希望有一个更优雅的解决方案。有什么建议么?
我能想到的最好的解决办法是把既有进度和 实际观的布局,与进度可见性设置为 可见,查看可见性设置为不见了。加载后,我换了 他们的知名度。
这是一个完全合法的解决方案。如果您不喜欢它,可以尝试以下操作:
添加一个空的容器布局(LinearLayout,RelativeLayout等),您可以在其中放置ProgressBar
或View
,后面跟着这个布局。找到这个容器中的对话框的视图中:
container = (_____Layout) dialogView.findViewById(R.id.container_id);
创建ProgressBar
和下面的View
loading
结束后:
ProgressBar pb = ....;
View v = ....;
在你的代码,当loading
开始:
container.addView(pb);
一旦loading
完成:
container.removeAllViews();
container.addView(v);
如果您恰好使用AdapterView,则可以调用setEmptyView()方法。示例见here。