我的应用程序是沉浸式全屏,但在运行 Android 9 + 且屏幕上有前置摄像头孔的新设备中 - 有一条黑线而不是状态栏。 (状态栏曾经是摄像头孔所在的位置)。我想让所有屏幕都充满,包括相机孔区域。
我知道用户可以访问: 设置、显示、全屏应用程序 - 在此选项中找到我的应用程序并将其从“自动”更改为“全屏”(在 android 9 中)或从关闭更改为打开(在 android 11 中),并且它也会被拉伸(stretch)相机孔。但我必须从应用程序内部以编程方式执行此操作。
即使在设置:显示:全屏应用程序 ->“全屏”选项已关闭(android 11 )或这些应用程序的“自动”(android 9)。所以必须可以通过编程来完成。
现在我使用它来全屏显示(与android studio简单的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);
}
};
感谢您的回答
图片中:
当该应用程序的设备全屏显示设置为“自动”时,全屏 Activity ,因此有一条黑线而不是状态栏(位于前置摄像头区域)。我怎样才能让全屏在这个地方也拉伸(stretch)?
全屏 Activity ,其中此应用的 Android 显示设置为“全屏”。
设置更改选项(我想以编程方式从“自动”更改为“全屏”)。
最佳答案
我的 friend Dima Kroytor 找到了答案!这里是.. Galaxy S10, S10+ Full Screen Mode 由 Mohamad Bdour 发布:在 value: style 中:将其添加到您的 AppTheme 样式
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
如果您的应用程序的最低级别为< 27,则将其放在文件夹values-27下
关于android - 如何在前置摄像头孔区域上获得全屏(沉浸式) Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68756901/