微信小程序自定义顶部状态栏

因为工作需要,要在微信小程序中自定义顶部导航栏,通过这篇文章来记录一下自己所得~

第一步:

需要在json文件中配置"navigation" : "custom",完成自定义导航栏,只保留胶囊按钮,效果如下图:

image-20220920153128277.png

做完以上步骤,基本上就可以自定义导航栏了,但是,从页面上可以看出,页面的内容被挡住了,可以通过样式加上边距解决这一问题。

第二步:

给内容加上样式可以使内容显示出来

image-20220920153452164.png

这时又有一个问题出现,我们的边距是固定的,但是不同型号的手机头部那条栏目高度可能不一致,所以为了适配更多手机型号,我们需要进一步优化。

第三步:

image-20220920153726190.png

在上面图中我标出了导航栏的高度、胶囊按钮与顶部的距离、胶囊按钮与右侧的距离。小程序可以通过wx.getMenuButtonBoundingClientRect()l来获取胶按钮的信息,可以通过wx.getSystemInfo获取设备的信息。

image-20220920154126030.png
通过获取到的信息可以计算出上面所列举到的三个值:

  • 导航栏高度 = statusBarHeight + height + (top-statusBarHeight)*2;
  • 胶囊按钮与顶部的距离 = top;
  • 胶囊按钮与右侧的距离 = windowWidth - right;

通过以上三步就可以完成导航栏的自定义,并且做到内容不会被遮盖。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shansec~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值