关于 Screen.safeArea的一知半解

最近在做一个Unity新项目,在做手机端适配的时候发现了一个问题。
有的手机上边有刘海或者摄像头(俗称刘海屏、挖孔屏等)无法获取实际的手机安全尺寸。
在代码里我使用的是Screen.safeArea来获取安全区域。
我把他打印出来在手机上运行,结果是这样的在这里插入图片描述
这safeArea高度和Screen.height一样,可是这个手机明明左上角有个摄像头。这导致我顶部的ui一部分都被摄像头挡住了。
我问了同事怎么处理的,同事说他也是用的这个Screen.safeArea这个方法,就很奇怪。于是在同事的项目里也加入了打印语句,在同样的这个手机上装上同事的项目,运行:
在这里插入图片描述
哎?就奇怪了 同样的代码,这回SafeArea就对了,正好是比屏幕尺寸小一些,留出了摄像头的位置。
那么问题只能出现项目设置上了,我开始对比项目设置 ,一个一个比较,打了几十个包,终于发现了影响因素,在这里,AndroidManifest文件的这句话
在这里插入图片描述
只要加上这句,SafeArea就能获取正确,但这句是具体怎么影响的,经过查阅,也没太看懂(主要也没什么时间) 希望有大佬能给我解答下~
这种问题居然在谷歌上搜不到什么结果,于是我发出来,万一能帮助到需要的人捏~

猜你喜欢

转载自blog.csdn.net/qq_27275225/article/details/134990090