uni-app 全面屏、刘海屏适配(iphoneX适配)及安全区设置
uni-app 全面屏、刘海屏适配(iphoneX 适配)及安全区设置
iOS 方案一:使用原生占位(仅 App 端支持)
manifest.json 文件 app-plus 节点下配下 safearea
1 |
|
iOS 方案二:不使用原生占位(非 App 端可以不配置 manifest)
manifest.json 文件 app-plus 节点下配下 safearea
1 |
|
然后在需要适配的页面内使用 css 常量 constant(safe-area-inset-bottom)、env(safe-area-inset-bottom) 来适配,参考:为 iPhoneX 设计网站。微信小程序模拟器不支持,以真机为准。
比如为列表底部添加内边距避开安全区,在 iPhoneX 上列表底部会有内边距,在其他设备上没有内边距:
1 |
|
注意:使用了 pages.json 里的原生 tabbar,不管 manifest 里安全区设置如何,在 tabbar 下方都会留出空隙。
判断是否为刘海屏的方法
使用 5+ API (plus.navigator.hasNotchInScreen)可查询当前设备是否为刘海屏。
详情参考:https://www.html5plus.org/doc/zh_cn/navigator.html#plus.navigator.hasNotchInScreen
安卓底部虚拟按键背景色修改方式
使用 Native.js 修改:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!