关于MIUI小白条及类似的“全面屏手势提示线”覆盖问题描述 · Issue #307 · razerdp/BasePopup · GitHub 您所在的位置:网站首页 miui底部小白条怎么打开 关于MIUI小白条及类似的“全面屏手势提示线”覆盖问题描述 · Issue #307 · razerdp/BasePopup · GitHub

关于MIUI小白条及类似的“全面屏手势提示线”覆盖问题描述 · Issue #307 · razerdp/BasePopup · GitHub

2024-07-12 18:00| 来源: 网络整理| 查看: 265

在测试机更新到MIUI12后,我发现了小白条的存在,起初认为没什么,但在用了一些应用后发现其实大家都对这个并没有适配,比如TIM: device-2020-06-29-151007 当然,我们BasePopup在抛弃了手动测量高度而将其交回给系统后,也出现了这个情况: 微信截图_20200629151237 为了验证,我分别使用了系统自身的Popup和Dialog分别进行验证:

PopupWindow Dialog 微信截图_20200629152026 微信截图_20200629152111

我们可以发现,系统的PopupWindow一样有问题,而Dialog并没有。

考虑到Dialog是拥有自己的Window的,而PopupWindow依附于Parent的Window,所以Dialog在这一方面表现的确较好,不过咱们是BasePopup(也许以后会提供一个Dialog模式~),那么解决问题当然是以PopupWindow为准。

问题根源

其实看到这个小白条,我第一时间就想到曾经也有三星手机相关的issue,也是这种缩小型的navigationbar:

#184

于是打开LayoutInspector查看了一下,果不其然,这个小白条 根本就不是ios那样的沉浸式 ,而是单纯的修改了NavigationBar

微信图片_20200629152612

而PopupWindow是不应该覆盖navigationbar的,因为覆盖的话会造成事件拦截,navigationbar的事件被抢先消耗了。

BasePopup的解决方案

目前BasePopup的确有解决方案,但是这套方案依然会有上面所说的覆盖navigationbar的问题,在此我提供了一些方案选择,或者如果大家有更好的方式也请在issue提出并讨论:

目前BasePopup覆盖navigationbar问题不大,但是就覆盖的问题提出两种方案:

BasePopup统筹整体布局,对BasePopup内的根布局进行底部 padding ,为了更好的扩展,将提供开关让用户选择是否进行padding(默认应该是保留padding以保证不覆盖navigation)

BasePopup不处理布局,但是会提供回调给BasePopupWindow,用户可以在回调方法内自行处理

附录:方案展示及方案问题所在: 覆盖navigation navigatin阻挡 微信图片_20200629153513 微信图片_20200629153518


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有