ReactNative全面屏(Android)适配问题

如今是全面屏的时代,Android手机如今也是各类全面屏,“刘海屏”,“弹出摄像头”,"水滴屏",“挖孔屏”,伴随着科技的飞速发展,各类提升屏占比的方案也是层出不穷,有点“百花齐放百家争鸣”的感受,哈哈。可是对于开发者来讲,Android的屏幕适配就是一个富有挑战性的工做了。
为了呈现更好的视觉效果,许多安卓OEM厂商都开始采用超大屏幕。三星刚刚发布了本身的新旗舰Samsung Galaxy S8,长宽比达到18.5:9。今年早些时候的全球移动大会上LG也亮相了 LG G6,屏幕长宽比达到了18:9。
在这里插入图片描述android

(左图)18.5:9 设备上最大纵横比设置为 16:9 的应用(上下有黑边)
(右图)18.5:9 设备上最大纵横比设置为 18.5:9 的应用git

  • 若是您的应用定位到 Android 8.0(API 级别 26)或更高版本,它会根据其布局填充整个屏幕。
  • 若是您的应用定位到Android 7.1(API 级别 25)或更低版本,则系统会将应用界面的大小限制为长宽比为 16:9(约为 1.86)的窗口。
    若是应用在具备较大屏幕长宽比的设备上运行,则该应用会在带黑边的 16:9 窗口中显示,从而使部分屏幕处于未占用状态。

为了支持尽量多的设备,应用应动态调整其布局,以确保其内容和控件可见且结构清晰。
针对此问题,Android官方提供了适配方案,能够提升App支持的最大屏幕长宽比,在 AndroidManifest.xml 中作以下配置便可:github

<meta-data android:name="android.max_aspect" android:value="2.1" />

可参考Android官方的支持文档:声明受限屏幕支持
支持刘海屏
开发之路漫漫其修远兮,吾将上下而求索!ide

我的网站:https://wayne214.github.io
个人公众号:君伟说。欢迎关注哦布局

相关文章
相关标签/搜索