Android P - 模拟刘海时的沉浸式模式留空 space

Android P - Immersive mode when simulating a notch leaves empty space

我有一个 Android 应用程序,它使用沉浸式粘滞模式,它在 Android 的早期版本以及 Android P 上运行良好,但是当打开该选项时模拟显示切口(凹口),内容从状态栏正下方开始,留下空白 space.

我的代码是标准的沉浸式代码:

getWindow().getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                    | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                    | View.SYSTEM_UI_FLAG_FULLSCREEN
                    | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);

有什么想法吗?

谢谢。

没关系,在真实设备上这是完全正常的行为,因为您不希望全屏内容被缺口遮挡(尽管 iPhone X 做到了)。

留下这个问题以供将来参考。

如果需要,我们可以通过设置 window 布局属性来获得完整的沉浸式体验。这已记录在案 here

<item name="android:windowLayoutInDisplayCutoutMode" tools:targetApi="o_mr1">            shortEdges</item>

这解决了我的问题。