微信小程序-自定义NavigationBar(顶部标题栏)、自定义tabBar(底部菜单栏)

896 阅读1分钟

navigationBar

1.官方提供的navigationBar

微信官方提供了基本的navigationBar模板供开发者使用,包含①定制标题文字,②非顶层页面提供返回按钮,③自动适配胶囊高度。

但某些更高阶的功能无法实现如:背景图片、越级返回、非顶层页面隐藏返回按钮,此时需要自定义navigatear来实现。

2.适配全机型的高度

博客链接 --> 微信小程序自定义导航栏,胶囊菜单按钮高度完美适配

在自定义小程序导航栏时,右上角的胶囊(MenuButton)在不同机型测试,会发现很难适配。 然而状态栏高度、胶囊高度、导航栏高度,微信开发者工具有对应的api可以计算出其在不同机型的高度,从而达到自定义环境下的统一适配。

(1)让自定义navigtionBar的高度在任何机型下都统一高度的统一计算公式👇

    总体高度 = 导航栏高度 + 状态栏高度

       导航栏高度 = (胶囊上边界坐标-状态栏高度)x2+胶囊高度
       状态栏高度 = wx.getWindowInfo().statusBarHeight

          胶囊上边界坐标 = wx.getMenuButtonBoundingClientRect().top
          胶囊高度 = wx.getMenuButtonBoundingClientRect().height

最终效果👇

(2)不涉及标题文字,涉及顶部搜索栏的navigationBar高度👇

3.根据不同页面显示不同的标题文字

4.自定义返回

5.背景图片样式

TabBar