【uniapp】兼容刘海屏底部安全区

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【uniapp】兼容刘海屏底部安全区相关的知识,希望对你有一定的参考价值。

参考技术A

因为iphoneX等机型最下面会有条黑色等线,导致按钮等元素被遮住部分,所以设置安全区边距会往上提,如果不是刘海屏则保持原来样式。(注:在小程序模拟器上不生效,以真机为准。)

ios方案一:使用原生占位(仅App端支持)

iOS方案二:不使用原生占位(非App端可以不配置manifest

在你需要调大边距的盒子添加以下样式

Android 屏幕适配异形屏适配 ② ( 需要异形屏适配情况 | 需要异形屏适配的 Android 系统版本 | 刘海屏状态判定 | 异形屏适配调试 - 华为云调试 )

文章目录


屏幕适配参考文档 :


异形屏适配参考文档 :

异形屏适配测试 :


异形屏适配难点是 需要针对 不同的手机厂商 , 不同的 Android 系统版本 进行适配 ;





一、需要异形屏适配情况




1、需要异形屏适配的 Android 系统版本 8.0


所有的 刘海屏 手机都是 Android 8.0 8.0 8.0 API Level 28 28 28 以上版本的 操作系统 , 因此这里设置只有 API 28 以上才启用刘海屏适配 ;

if (android.os.Build.VERSION.SDK_INT >= 28) 
	// 刘海屏适配


2、正常有状态栏的界面竖屏不需要适配


正常的 Android 应用是不需要进行 异形屏 适配的 , 刘海屏 的 耳朵区 是状态栏 , 显示 电池电量 , 信号强度 , 时间 等信息 ;

正常情况下的 耳朵区 的状态栏显示 :

正常界面 , 竖屏状态下 , 刘海耳朵区显示的是状态栏 , 这是系统自动显示的 , 不需要进行适配 ;


3、正常有状态栏的界面横屏需要适配


如果是横屏的情况下 , 左侧的 刘海 凹槽区域 , 有一块屏幕缺口 , 可能会阻挡一些内容 ;


4、刘海屏状态判定


判断该手机是否是刘海屏手机 :

// 判断当前手机状态是否是刘海屏状态 
int isNotchSwitchOpen = Settings.Secure.getInt(context.getContentResolver(),"display_notch_status", 0);




二、异形屏适配调试 - 华为云调试



华为官方提供了云调试功能 , 提供了所有华为手机测试真机 ;

华为云调试 地址 : https://developer.huawei.com/consumer/cn/agconnect/cloud-adjust/

华为云调试 提供了 国内主流品牌 手机的调试 ;

以上是关于【uniapp】兼容刘海屏底部安全区的主要内容,如果未能解决你的问题,请参考以下文章

HTML5 移动端页面适配 iOS 系统刘海屏

uniapp 计算安全区高度 和 刘海高度

android 兼容所有刘海屏的方案大全

android 关于google刘海屏的解决方案

android兼容huawei手机刘海屏解决方案

Android 屏幕适配异形屏适配 ① ( 异形屏类型:刘海屏水滴屏挖孔屏 | 沉浸式布局刘海屏适配 | 华为手机异形屏适配注意点 )