【发布时间】:2013-09-07 22:19:02
【问题描述】:
我需要在现有的普通Activity 之上显示DialogFragment(非全屏且ActionBar 可见)。
我的DialogFragment 需要全屏显示,所以我使用以下几行来实现该结果:
getDialog().getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
getDialog().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR);
在 ICS 上一切正常,我的 DialogFragment 全屏显示,当我关闭它时,我的 Activity 内容没有调整大小,因此没有布局故障(因为它应该因为我设置全屏标志应该只影响DialogFragment所在的窗口)。
在 Jelly Bean 上,当我关闭 DialogFragment 时,我看到我的 Activity 内容已调整大小以覆盖状态栏,因此当它尝试返回原始大小时出现布局故障。
我认为这可能与新系统 UI 标志(SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 等)的引入有关,但我不知道如何在 Jelly Bean 上也具有相同的 ICS 行为......有什么想法吗?
【问题讨论】:
标签: java android view android-4.0-ice-cream-sandwich android-4.2-jelly-bean