收藏
回答

openEmbeddedMiniProgram打开半屏并切换成全屏后,为啥页面顶部状态栏不占位了呢?

不占位是一回事,可是为啥系统的API wx.getWindowInfo 的statusBarHeight还有值,正常不应该返回0么,

回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    2024-11-12

    你好,请问是否有线上的复现步骤

    2024-11-12
    有用
    回复 1
    • 白
      2024-11-13
      安卓线上亚朵ATOUR小程序有这个问题,1.进入亚朵;2.点击亚朵星球;3.打开全屏;4.点击上方三个点重新进入小程序
      2024-11-13
      回复
  • 马洪伟
    马洪伟
    2025-09-23

    在安卓上是没问题的,statusBarHeight返回0,在iOS上返回的是正常值。就导致自定义导航的页面显示异常。根据今日实际测试,由半屏切换成全屏后,状态栏实际处于不可用状态,所以statusBarHeight为0,才是正确的。做以下兼容尝试:

    const menuButton = wx?.getMenuButtonBoundingClientRect?.() ?? {}
    
    const windowInfo = wx?.getWindowInfo?.() ?? {}
    
    if (menuButton?.top > 0 && menuButton?.top < windowInfo?.statusBarHeight) {
    console.warn('半屏切换全屏后,不同机型上返回的statusBarHeight有差异,导致页面导航显示异常,根据2025年9月23日测试,statusBarHeight为0,才对! 此处做个兼容,如果官方做了调整,随后我们再做调整')
       windowInfo.statusBarHeight = 0;
    }
    
    2025-09-23
    有用
    回复
登录 后发表内容