原生安卓可以根据不同的手机厂商(Huawei,XiaoMi等)提供的接口,获取当前手机是否为凹凸屏、全面屏等。Unity3D再根据返回的接口,来调整页面布局。如果是凹凸刘海屏,需要根据Android O,Android P来判断窗体如何渲染拓展到全屏。参考博文:https://blog.youkuaiyun.com/wanzi215/article/details/88179295 ;https://blog.youkuaiyun.com/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.height);
UIEdgeInsets insets = UIEdgeInsetsMake(0, 0, 0, 0);
if ([view respondsToSelec

这篇博客介绍了如何在Unity3D中进行屏幕适配,特别是针对凹凸屏和全面屏。通过调用原生安卓接口,根据不同手机厂商的特性判断屏幕类型,并依据Android O和Android P的系统版本调整页面布局。同时提到Unity2018已内置全面屏和刘海屏的适配支持。对于iOS设备,可以在XCode中获取屏幕安全区域进行适配。
最低0.47元/天 解锁文章
2386

被折叠的 条评论
为什么被折叠?



