我正在管理多个自定义对话框LinkedList
。
显示的第一个对话框始终已FLAG_DIM_BEHIND
设置,所有其他显示的对话框FLAG_DIM_BEHIND
已从其标志中清除。
我的问题是对话框不受FLAG_DIM_BEHIND
firstDialog 的影响,我认为这是因为 firstDialog 是首先创建的。
我尝试了以下方法:
使用
firstDialog.getWindow().getDecorView().bringToFront()
=> 不起作用取消所有对话框,而不是在
firstDialog
最后显示时重新显示它们。但是当我取消这些窗口时,它们就从 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(); } ....
非常感谢您提前。