首页 > 解决方案 > 如何在前置摄像头孔区域也获得全屏(沉浸式)活动?

问题描述

我的应用是身临其境的全屏应用,但在运行 android 9 + 且屏幕上有前置摄像头孔的新设备中 - 有一条黑线而不是状态栏。(状态栏曾经是摄像头孔所在的位置)。我想让所有屏幕都充满,包括相机孔区域。

我知道用户可以转到:设置、显示、全屏应用程序 - 在此选项中找到我的应用程序并将其从“自动”更改为“全屏”(在 android 9 中)或从 OFF 更改为 ON(在 android 11 中)而且它也会被拉伸到相机孔上。但我必须从应用程序内部以编程方式进行。

我可以看到手机上的许多游戏和应用程序在摄像头孔上也处于全屏状态,即使在设置中:显示:全屏应用程序->“全屏”选项已关闭(android 11)或“这些应用程序的“自动”(Android 9)。所以它必须可以通过编程来完成。

现在我正在使用它来全屏显示(与 android studio simple fullScreenActivity 新项目相同):

   private final Runnable mHidePart2Runnable = new Runnable() {
        @SuppressLint("InlinedApi")
        @Override
        public void run() {
        // Delayed removal of status and navigation bar

        // Note that some of these constants are new as of API 16 (Jelly Bean)
        // and API 19 (KitKat). It is safe to use them, as they are inlined
        // at compile-time and do nothing on earlier devices.
        mContentView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE
                | View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
    }
};

谢谢回答

在图片中:

  1. 当设备的此应用的全屏显示设置为:“自动”时全屏活动,因此有一条黑线而不是状态栏(在前置摄像头区域)。我怎样才能在这个地方也让全屏拉伸?

  2. 此应用的 android 显示设置为“全屏”的全屏活动。

  3. 设置更改选项(我想以编程方式从“自动”更改为“全屏”)。 ][1][1]1

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

标签: androidfullscreenfront-camera

解决方案


我的朋友 Dima Kroytor 找到了答案!在这里.. Mohamad Bdour 发布的Galaxy S10、S10+ 全屏模式:在值中:样式:将此添加到您的 AppTheme 样式

  <item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>

如果您的应用程序的最低级别 < 27,则将其放在文件夹 values-27 下


推荐阅读