现在是全面屏的时代,Android手机现在也是各种全面屏,“刘海屏”,“弹出摄像头”,"水滴屏",“挖孔屏”,伴随着科技的飞速发展,各种提高屏占比的方案也是层出不穷,有点“百花齐放百家争鸣”的感觉,哈哈。但是对于开发者来说,Android的屏幕适配就是一个富有挑战性的工作了。
为了呈现更好的视觉效果,许多安卓OEM厂商都开始采用超大屏幕。三星刚刚发布了自己的新旗舰Samsung Galaxy S8,长宽比达到18.5:9。今年早些时候的全球移动大会上LG也亮相了 LG G6,屏幕长宽比达到了18:9。
(左图)18.5:9 设备上最大纵横比设置为 16:9 的应用(上下有黑边)
(右图)18.5:9 设备上最大纵横比设置为 18.5:9 的应用
- 如果您的应用定位到 Android 8.0(API 级别 26)或更高版本,它会根据其布局填充整个屏幕。
- 如果您的应用定位到Android 7.1(API 级别 25)或更低版本,则系统会将应用界面的大小限制为长宽比为 16:9(约为 1.86)的窗口。
如果应用在具有较大屏幕长宽比的设备上运行,则该应用会在带黑边的 16:9 窗口中显示,从而使部分屏幕处于未占用状态。
为了支持尽可能多的设备,应用应动态调整其布局,以确保其内容和控件可见且结构清晰。
针对此问题,Android官方提供了适配方案,可以提高App支持的最大屏幕长宽比,在 AndroidManifest.xml 中做如下配置即可:
<meta-data android:name="android.max_aspect" android:value="2.1" />
可参考Android官方的支持文档:声明受限屏幕支持
开发之路漫漫其修远兮,吾将上下而求索!