ReactNative全面屏(Android)适配问题

Stella981
• 阅读 707

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

(左图)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官方的支持文档:声明受限屏幕支持 支持刘海屏 开发之路漫漫其修远兮,吾将上下而求索!

个人网站:https://wayne214.github.io

我的公众号:君伟说。欢迎关注哦

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
Taro小程序自定义顶部导航栏
微信自带的顶部导航栏是无法支持自定义icon和增加元素的,在开发小程序的时候自带的根本满足不了需求,分享一个封装好的组件,支持自定义icon、扩展dom,适配安卓、ios、h5,全面屏。我用的是京东的Taro多端编译框架写的小程序,原生的也可以适用,用到的微信/taro的api做调整就行,实现效果如下。!在这里插入图片描述(https://i
Stella981 Stella981
3年前
Flutter全面屏适配
笔者在这篇文章ReactNative全面屏(Android)适配问题(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblog.csdn.net%2Fwayne214%2Farticle%2Fdetails%2F103491728)提及了现在的全面屏问题,不仅是Android平台,IOS
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
3年前
Unity横屏
Android下发现Unity里面的Player设置,并不能完全有效,比如打开了自动旋转,启动的时候还是会横屏,修改XML添加以下代码<applicationandroid:icon"@drawable/ic\_launcher"                    android:label"@string/app\_name"
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这