解决小程序自定义导航栏和右边胶囊高度一致

名词解释:
1.statusBarHeight:状态栏高度(小程序可获取),是指顶部显示手机信号,时间,电量的那一个小的状态条的高度。如图红色部分。
2.titleBarHeight:标题栏高度(小程序获取不到),是从状态栏的底部开始的,到标题栏的底部的高度为止。如图绿色部分。
3.wx.getMenuButtonBoundingClientRect():获取菜单按钮(右上角胶囊按钮)的布局位置信息。
解决小程序自定义导航栏和右边胶囊高度一致_第1张图片

目的一:要实现自定义导航栏和小胶囊的高度一致,如图显示:

解决小程序自定义导航栏和右边胶囊高度一致_第2张图片
方法:设置自定义导航栏top为wx.getMenuButtonBoundingClientRect().top

目的二:实现自定义胶囊按钮和右边的高度一致

解决小程序自定义导航栏和右边胶囊高度一致_第3张图片
方法:利用wx.getSystemInfo()返回的参数statusBarHeight计算,

胶囊高度为32px,

fixed定位top值计算:statusBarHeight + (titleBarHeight - 32)/2
(titleBarHeight安卓是48,ios是44)
参考网上资源:1.https://developers.weixin.qq.com/community/develop/doc/00086eae518d70f88ea7557fb56c00?_at=1560019702849
2.https://developers.weixin.qq.com/community/develop/doc/000c443517c1b819e888d68e751000

你可能感兴趣的:(小程序)