什么是全面屏
全面屏跟曲面屏,这是两个不同的概念。
一般手机的屏幕纵横比为16:9,如1080x1920、1440x2560等,其比值为1.777777……,全面屏手机出现之前,Android中默认的最大屏幕纵横比(maximum aspect ratio)为1.86,即能够兼容16:9的屏幕。
一些手机厂商为了追求更大的屏幕空间以及更极致的用户体验,于是提高了屏幕纵横比,17:9、19:10、18:9、18.5:9的手机开始进入市场,这些手机被称为全面屏手机。
官方适配方案
第一:
Android官方提供了适配方案,即提高App所支持的最大屏幕纵横比,实现很简单,在AndroidManifest.xml中可做如下配置:
<meta-data android:name="android.max_aspect"
android:value="ratio_float"/>
其中ratio_float为浮点数,官方建议为2.1或更大,因为18.5:9=2.055555555……,如果日后出现纵横比更大的手机,此值将会更大。
第二:
如果没有上述设置,android:resizeableActivity
也为false的话,则应用所支持的最大纵横比为默认值1.86,即默认无法支持全面屏。所以在 AndroidManifest.xml
的 application
节点下添加android:resizeableActivity="true"
即可,就可以支持最大的横纵比2.1.
<application android:name="XXXXXX" android:label="XXXXXXXX" android:theme="XXXXXX" android:resizeableActivity="true"> <!--适配全面屏手机--> <meta-dat android:name="android.max_aspect" android:value="2.1"/>
官方指导文档为 Update your app to take advantage of the larger aspect ratio on new Android flagship devices。