我们如何获得顶部有凹口的屏幕尺寸

How can we get the size of screen with notch on the top

有些设备比如华为p20(运行 android 8,8.1) 上面内置了notch。 目前获取屏幕尺寸的方式是

 Display display = getWindow().getWindowManager().getDefaultDisplay();
 Point screenSize = new Point();

 display.getRealSize(screenSize);
 //screenSize.x
//screenSize.y

而且它正在将游戏引出屏幕。那么,有什么方法可以解决 android P 和 Pre-p 设备的缺口问题。

只有少数 android 设备具有 notch 选项,目前无法使用 Android API 获取此类设备的确切屏幕尺寸。

但是有一个解决方法,您可以检查设备名称并相应地调整您的布局。

有一个流行的 Android 库可以获取 Android 设备的市场名称。在此处查看更多信息:https://github.com/jaredrummler/AndroidDeviceNames

如何使用这个库:

String deviceName = DeviceName.getDeviceName();

希望这能帮助您专注于自己的发展,而不是浪费时间!

状态栏(您所有的通知所在的位置)始终会根据刘海屏的深度进行调整。看看拥有世界上最大缺口的像素 3 :p 状态栏变得和缺口一样高。

因此,如果您的应用处于全屏状态(内容绘制在状态栏下方),那么缺口只会是一个问题,它可能会覆盖您的部分内容。 使您的应用程序非全屏(仅在状态栏下方绘制),您以后不必担心任何缺口大小。许多游戏在其内容中忽略了状态栏。