Java ICS和Jelly Bean在使用Window';s FLAG_全屏显示

Java ICS和Jelly Bean在使用Window';s FLAG_全屏显示,java,android,view,android-4.0-ice-cream-sandwich,android-4.2-jelly-bean,Java,Android,View,Android 4.0 Ice Cream Sandwich,Android 4.2 Jelly Bean,我需要在现有的正常活动上显示一个对话框片段。 我的DialogFragment需要全屏显示,因此我使用以下几行代码来实现该结果: getDialog().getWindow().addFlags(WindowManager.LayoutParams.FLAG_全屏| WindowManager.LayoutParams.FLAG_布局_屏幕); getDialog().getWindow().clearFlags(WindowManager.LayoutParams.FLAG\u LAYOUT\

我需要在现有的正常
活动
上显示一个
对话框片段

我的
DialogFragment
需要全屏显示,因此我使用以下几行代码来实现该结果:

getDialog().getWindow().addFlags(WindowManager.LayoutParams.FLAG_全屏| WindowManager.LayoutParams.FLAG_布局_屏幕);
getDialog().getWindow().clearFlags(WindowManager.LayoutParams.FLAG\u LAYOUT\u INSET\u DECOR);
在ICS上,一切正常,我的
对话框片段
全屏显示,当我关闭它时,我的
活动
内容没有调整大小,因此没有布局问题(因为我设置的全屏标志应该只影响
对话框片段
所在的窗口)

相反,在Jelly Bean上,当我关闭我的
对话框片段
时,我看到我的
活动
内容的大小已调整,以覆盖状态栏,因此当它试图返回到原始大小时,出现布局故障。
我认为这可能与引入新的系统UI标志(
system\u UI\u FLAG\u LAYOUT\u FULLSCREEN
,等等)有关,但我不知道如何在Jelly Bean上也有相同的ICS行为。。。有什么想法吗?

找到解决方法,您需要呼叫:

view.setFitsSystemWindows(true);
在将全屏标志设置到窗口之前,请以相同的方式:

view.setFitsSystemWindows(false);
在清理它之前

视图
必须是
活动
中的视图(而不是
对话框片段
!),并且必须可见(请参阅)

尽管如此,在设置
对话框片段
的关闭动画时仍存在一些ICS上不存在的小故障。。。但我认为这是另一个问题