2013-06-03 17 views
0

我正在管理LinkedList中的多個自定義對話框。如何使一個對話框位於其他對話框的前面,以使其暗淡將在tham頂部

顯示的第一個對話框始終有FLAG_DIM_BEHIND集合,其他所有對話框顯示的對話框都有FLAG_DIM_BEHIND

我的問題是,對話框不受FLAG_DIM_BEHIND影響firstDialog的影響,我認爲這是因爲firstDialog是先創建的。

我嘗試以下方法:

  • 使用firstDialog.getWindow().getDecorView().bringToFront() =>沒有工作

  • 取消所有對話框,比時,將顯示最後firstDialog reshowing他們。但是當我取消窗口時,他們從LinkedList中移除。

  • firstDialog顯示最後時,關閉所有對話框並重新顯示它們。但對話只是不要重新顯示。

    .... 
    
    LinkedList<CustomDialog> dialogList = new LinkedList<CustomDialog>(); 
    CustomDialog firstDialog = new CustomDialog(); 
    firstDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 
    dialogList.add(firstDialog); 
    CustomDialog temp; 
    for(int i = 0; i < 3; i++) 
    { 
         temp = new CustomDialog(); 
         temp.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND); 
         dialogList.add(temp); 
    } 
    
    for(CustomDialog itr : dialogList) 
    { 
         itr.show(); 
    } 
    
    .... 
    



非常感謝你提前。

+0

發佈您的相關代碼片段。 –

+0

我以爲你只能在同一時間從同一個活動打開一個對話框?打開第二個將關閉第一個(清除FLAG_DIM_BEHIND)。 –

+0

您可以根據需要顯示儘可能多的對話框,通常會發生的情況是第二個對話框在第一個對話框的上方打開。 –

回答

0

我在應用程序中使用多個對話框,但在不同的類中使用它們。

public class PopFilters extends Dialog implements android.view.View.OnClickListener{} 

,並通過該

PopFilters(NewMain.nmain).show(); 

當手機處於縱向使用

FLAG_DIM_BEHIND 

它會導致對話框面向我的問題是,打電話給他們,閃爍時開啓,在當風景,沒問題。它讓我瘋狂,但除此之外沒有任何問題。

相關問題