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(); } ....
非常感謝你提前。
發佈您的相關代碼片段。 –
我以爲你只能在同一時間從同一個活動打開一個對話框?打開第二個將關閉第一個(清除FLAG_DIM_BEHIND)。 –
您可以根據需要顯示儘可能多的對話框,通常會發生的情況是第二個對話框在第一個對話框的上方打開。 –