最近尝试了 "navigationStyle":"custom",即所谓“全屏模式”
发现设备适配遇到了问题。
导航栏的高度没有获取的途径,机型太多难以全部适配。
之前可以用 screenHeight - windowHeight - statusBarHeight 来得到导航栏高度。
但是“全屏模式”下,screenHeight 和 windowHeight 是一样的,也就无法得到导航栏的高度了。
建议:
wx.getSystemInfo 接口中增加导航栏高度。或者像另一个帖子里说的 提供“胶囊” 中线 的相对位置。
或者官方能够提供其他的解决方案。
七夕快乐
“之前可以用 screenHeight - windowHeight - statusBarHeight 来得到导航栏高度。”
----------------------------------------------------------------------------------------------------------------
还要再减去tabbar的高度吧 (tabbar非自定义的情况下)
你们可以通过这种方式获取导航栏的高度
<navigation-bar wx:if="{{navigation.visible}}" id="navigation”></navigation-bar>
const query = this.createSelectorQuery();
query.select("#navigation").boundingClientRect((res: WechatMiniprogram.BoundingClientRectCallbackResult) => {
console.log(res);
})
Android 导航栏高度 48px
iOS 导航栏高度 44px
刘海屏了解一下
手头没有 Android 的刘海屏手机,但是 iPhone X 是符合这个数据的
暂且不谈ios这种已经算比较统一的,安卓端国内各个品牌的手机胶囊位置都不一样。。你这个数据完全没意义
你手头有 Android 刘海屏的话可以试下,我觉得微信这个数据应该是统一的
同求
同求方案,这样全屏下很难做到自定义导航跟statusbar能够水平对齐
好的,反馈已收到,我们记录下这个需求
最近尝试了 "navigationStyle":"custom",即所谓“全屏模式”
发现设备适配遇到了问题。
导航栏的高度没有获取的途径,机型太多难以全部适配。
之前可以用 screenHeight - windowHeight - statusBarHeight 来得到导航栏高度。
但是“全屏模式”下,screenHeight 和 windowHeight 是一样的,也就无法得到导航栏的高度了。
这个有解决方案了吗
https://developers.weixin.qq.com/miniprogram/dev/api/wx.getMenuButtonBoundingClientRect.html
感谢