刘海屏适配,其实就是知道刘海高度(横屏游戏),来对ui进行偏移
所以刘海屏适配的关键是获取刘海高度
获取刘海高度有三种方案
1.大数据,收集各种型号对应的刘海数据,听说腾讯有些项目这么搞
2.代码获取,热门机型获取刘海数据,小众机型不是android p可能无法适配
3.unity新版本提供了相关刘海屏适配
新版unity刘海屏适配(推荐)
Screen.safeArea获取刘海屏信息适用于安卓9.0或以上系统(抛弃8.0奇葩刘海),ios是可以使用
安卓8.0可以使用配置表,因为机型不会非常多(直接不适配8.0最方便)
如果不想适配,刘海直接黑边处理,把Render outside safe area取消就可以
安卓
1.刘海旁边都要填充内容
需要获取safeArea来进行偏移,然后Render outside safe area打上勾
2.刘海直接黑边处理
Render outside safe area不打勾就行
IOS
需要获取safeArea来进行偏移就可以
下面是代码获取刘海数据
NotchFit是一款Android端的刘海屏适配库,适配了O版本和P版本,它屏蔽了不同厂商不同设备不同系统版本对刘海屏适配带来的一系列的繁杂的问题。
NotchFit可以智能的判断刘海的逻辑参数,所谓的刘海逻辑参数是该库对设备刘海参数的一个抽象获取,刘海逻辑参数不单是获取设备的硬件参数,还会根据系统的设置(如小米、华为等手机可以在系统中控制刘海区域的使用与否)等条件判断当前屏幕的统一的UI布局状态,检查是否需要进行刘海适配。
下面是Github地址
https://github.com/wcl9900/NotchFit
下面是关于Unity使用NotchFit,分两部分:NotchFit库导入和适配代码
其实这个库可以导出aar作为插件来处理(思路告诉你,实现靠自己)
安卓接入部分不懂可以看这个链接(最后获取刘海高度用到的)
已知问题:
2.最