原生安卓可以根据不同的手机厂商(Huawei,XiaoMi等)提供的接口,获取当前手机是否为凹凸屏、全面屏等。Unity3D再根据返回的接口,来调整页面布局。如果是凹凸刘海屏,需要根据Android O,Android P来判断窗体如何渲染拓展到全屏。参考博文:https://blog.csdn.net/wanzi215/article/details/88179295 ;https://blog.csdn.net/SnoopyNa2Co3/article/details/85699987 ;https://www.codetd.com/article/3885160
在Unity2018中已经做了全面屏、刘海屏的适配支持。
iOS方式:原生在XCode里面可以
获取iOS屏幕安全区域:
#include <CoreGraphics/CoreGraphics.h>
#include "UnityAppController.h"
#include "UI/UnityView.h"
CGRect CustomComputeSafeArea(UIView* view)
{
CGSize screenSize = view.bounds.size;
CGRect screenRect = CGRectMake(0, 0, screenSize.width, screenSize