上面在 AndroidManifest 的配置在 Android 9.0 之前有效,9.0 系统针对刘海屏制定了新的 api,默认保留一条黑边,即不允许绘制到刘海区域。所以如果你还没有适配 Android 9.0,那在判断是否是允许全屏界面内容显示到刘海区域的刘海屏机型时,就要加上版本判断。 判断是否是允许全屏界面内容显示到刘海区域的刘海屏机型: pub...
Android O 的刘海屏适配方案可分为两种情况: 全屏且占用刘海屏的适配方案 对于需要全屏且占用刘海屏显示的情况,如沉浸式游戏、沉浸式阅读(需要把态栏隐藏),适配时可以采用如下步骤:1、在 Activity 中使用 setSystemUiVisibility 设置全屏的一些标识; 2、根据不同厂商的适配规则(官网有提供)设置不同的 flag(大都通过...
这里我在测试时也发现了一个问题,就是如果是在style中设置了全屏模式,在适配之前,顶部状态栏区域显示一条黑边,这时候调用getDisplayCutout()获取DisplayCutout对象返回的结果是null,其实这也不难理解,因为这时候是看不出刘海区域的,但是这样会导致在适配之前无法通过DisplayCutout判断是否存在刘海屏,只能在适配后才能获取...
②如果是刘海屏手机需要应用自己调整布局避开刘海区,布局原则:保证重要的文字、图片和视频信息、可点击的控件和图标还有应用弹窗等等布局建议显示在状态栏区域以下(安全区域);不重要,遮挡不会出现问题的布局可以延伸到状态栏区域(危险区域)显示,按照这种布局原则修改,可以一次修改就能适配所有的刘海屏手机: UI适配 vivo &...
第二种方案, 很少有人或文档提及,但是是非常准确的,因此 QMUI 里面基本上都是依靠方式2来完成 Android P 的适配的。当然,如果 view 没有 attach 到 window 上, 那么就得不到rootWindowInsets信息, 因此这是一个坑点: 坑点1:通过 QMUINotchHelper 获取刘海屏信息并传参为 View 时,View 必须是已经 attach ...
1.问题场景 部分机型存在隐藏刘海屏的全局功能; notch高度与隐藏刘海模式下黑边高度(statusBar)不同;weex以相同的statusBar距离设置造成刘海隐藏模式上边距很窄,视觉效果差。 2.影响范围 有隐藏刘海屏功能的机型;如小米刘海屏机型且系统在Android9.0以前;(重点调研
安卓平台适配方法: 使用window.screen属性及媒体查询检测刘海屏及计算状态栏高度 对于安卓平台,我们可以使用window.screen属性来计算刘海屏和状态栏高度。同时,通过媒体查询的方式检测是否存在刘海屏。下面是示例代码: constdevicePixelRatio =window.devicePixelRatio;constscreenHeight =window.screen.height;letstatusBarHeigh...
华为huawei官方提供的解决方案 vivo官方提供的解决方案 oppo官方提供的解决方案 其它手机厂商 谷歌google官方提供的解决方案 由于内容较多,详细请见另外篇:android 关于google刘海屏的解决方案 小米xiaomi官方提供的解决方案 目前已上市的小米 Notch 设备(俗称刘海屏手机):小米8、小米8 SE、小米8 透明探索版 ...
刘海屏的应用适配也带来了一定问题,今日oppo官微在微博上发布了适配方案,在游戏中,向内滑动,呼出多个应用,能够弹窗快速回复微信,QQ等消息,支持录屏和截屏等快捷方式。说实话我不太喜欢oppo,但不可否认的是oppo这个刘海屏的解决方案很不错,即将发布的华为P20也将采用刘海屏,不知道华为的解决方案是什么样的,...