收藏
回答

wx.getWindowInfo() 接口返回safeArea中top属性有很大机率为0 ?

自定义navigationBar,有一定几率safeArea 中 top 返回 0,

小米手机,红米手机,oppe,华为都会出现问题。

请问这是怎么回事?有办法解决吗?太影响使用了

const rect = wx.getMenuButtonBoundingClientRect()
const { safeArea, windowWidth } = wx.getWindowInfo()
const { platform } = wx.getDeviceInfo()
const isAndroid = platform === 'android'
const isDevtools = platform === 'devtools'

console.log("安全区域:" + JSON.stringify(safeArea))

this.setData({
  ios: !isAndroid,
  innerPaddingRight`padding-right: ${windowWidth - rect.left}px`,
  leftWidth`width: ${windowWidth - rect.left}px`,
  safeAreaTop: isDevtools || isAndroid ? `height: calc(var(--height) + ${safeArea.top}px); padding-top: ${safeArea.top}px` : ``
})
回答关注问题邀请回答
收藏

4 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    05-08

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    05-08
    有用
    回复 2
    • 汝所言皆是
      汝所言皆是
      发表于移动端
      05-08
      你们官方就只会这一句吗?那么多帖子说这个问题,自己试试不会吗?
      05-08
      回复
    • F
      F
      09-13
      这个问题有解决方案了吗
      09-13
      回复
  • 群应用
    群应用
    发表于移动端
    10-17
    https://dldir1.qq.com/wework/work_weixin/WeCom_android_4.1.30.31145_arm64_100038.apk
    10-17
    有用
    回复
  • chang
    chang
    10-13

    测试时也遇到这个情况,我的情况是如果进入微信,然后待机一段比较长的时间,再打开小程序就会出现这种问题,除非退出微信再进入

    10-13
    有用
    回复
  • 红薯
    红薯
    05-08

    写一个最小值吧,25

    05-08
    有用
    回复 1
    • 汝所言皆是
      汝所言皆是
      05-08
      目前是这么写的
      05-08
      回复
登录 后发表内容