2013-08-27 53 views
1

我想在加載時(即不在對話框中)顯示ProgressBar微調器來代替另一個View。爲了清楚起見,我只希望ProgressBar替換一個View,而不是接管Window或Activity。如何顯示內聯ProgressBar微調器?

我能想到的最佳解決方案是在佈局中放置ProgressBar和實際視圖,並將ProgressBar可見性設置爲可見,並將視圖可見性設置爲「無效」。加載後,我換了他們的知名度。

這將工作,但我希望有一個更優雅的解決方案。有什麼建議麼?

回答

2

我能想到的最好的解決辦法是把既有進度和 實際觀的佈局,與進度可見性設置爲 可見,查看可見性設置爲不見了。加載後,我換了 他們的知名度。

這是一個完全合法的解決方案。如果您不喜歡它,可以嘗試以下操作:

添加一個空的容器佈局(LinearLayout,RelativeLayout等),您可以在其中放置ProgressBarView,後面跟着這個佈局。找到這個容器中的對話框的視圖中:

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

創建ProgressBar和下面的Viewloading結束後:

ProgressBar pb = ....; 

View v = ....; 

在你的代碼,當loading開始:

container.addView(pb); 

一旦loading完成:

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