Unity中全面屏手机的屏幕适配问题
发表于2018-12-14
上一篇给大家介绍了刘海屏手机的屏幕适配,这篇就来看看与之对应的全面屏手机屏幕的适配,在介绍之前,大家需要了解全面屏跟曲面屏,这两者其实是两个概念的东西。
一般手机的屏幕纵横比为16:9,如1080x1920、1440x2560等,其比值为1.777777……,全面屏手机出现之前,Android中默认的最大屏幕纵横比(maximum aspect ratio)为1.86,即能够兼容16:9的屏幕。
一些手机厂商为了追求更大的屏幕空间以及更极致的用户体验,于是提高了屏幕纵横比,17:9、19:10、18:9、18.5:9的手机开始进入市场,这些手机被称为全面屏手机。
目前市场上全面屏的手机主要有
由于全面屏手机的纵横比比之前大,如果不适配的话,Android默认为1.86,小于全面屏手机的纵横比,在全面屏手机上打开游戏时,左右就会留有空间,显示为黑条。虽不影响功能,但极其影响视觉体验,另外全面屏提供的额外空间也没有得以利用。
在代码中强行锁定分辨率也不能达到预期的效果,解决方法就是在Android.Manifest文件中做如下配置:
<meta-data android:name="android.max_aspect" android:value="2.1"/>
如图:
官方建议为2.1或更大,因为18.5:9=2.055555555……,如果日后出现纵横比更大的手机,此值将会更大。
另外如果没有上述设置,android:resizeableActivity?也为false的话,则应用所支持的最大纵横比为默认值1.86,即默认无法支持全面屏。