6

有一些设备,例如华为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 设备的缺口问题。

4

2 回答 2

3

状态栏(所有通知所在的位置)总是根据凹槽的深度进行调整。查看具有世界上最大缺口的像素 3:p 状态栏变得与缺口一样高。

在此处输入图像描述

因此,只有当您的应用程序处于全屏状态(内容绘制在状态栏下方)并且它可能会覆盖您的某些内容时,缺口才是问题。使您的应用程序非全屏(仅在状态栏下方绘制),您将来不必担心任何缺口大小。许多游戏从内容中忽略了状态栏。

于 2018-12-08T14:32:19.697 回答
2

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

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

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

如何使用这个库:

String deviceName = DeviceName.getDeviceName();

希望这将帮助您专注于您的开发而不是浪费时间!

于 2018-05-23T07:41:41.427 回答