Unity中使用Screen.safeArea适配全面屏/异形屏
屏幕高度(即屏幕最高点):Screen.height,安全区域最高点:Screen.safeArea.yMax,屏幕顶部异形区域大小:Screen.height - Screen.safeArea.yMax
(安全区域最低点:Screen.safeArea.yMin,可用于屏幕底部适配(苹果Touch Bar))
//计算屏幕顶部异形大小
int safeAreaOffset = (int)(Screen.height - Screen.safeArea.yMax);
//UI偏移
RectTransform rectTransform = transform.Find("SafeArea").GetComponent<RectTransform>();
rectTransform.offsetMax = new Vector2(0,-safeAreaOffset);
TestPanel:UI界面根节点,添加背景图片,可忽略异形屏的影响将图片填充满屏幕
SafeArea:安全区域根节点,在UI被加载后执行以上代码,可以根据异形屏大小动态设置顶部偏移量,避免被异形屏遮挡
未广泛测试机型,有待验证! 还可以根据设备类型(SystemInfo.deviceModel)、设备名称(SystemInfo.deviceName),手动设置每个机型的偏移量
本文来自博客园,作者:萧然CS,转载请注明原文链接:https://www.cnblogs.com/z-c-s/p/15112850.html