微信小程序 自定义导航栏

文章讲述了在微信小程序中实现图片置顶功能,需要自定义导航栏样式,由此引发的标题适配问题。作者提供了通过API获取胶囊按钮和状态栏高度的方法,动态计算导航栏整体高度并适配不同手机型号。此外,还提到了对于需要恢复默认导航栏样式的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


最近菜鸟做微信小程序,然后有一个图片置顶的功能
在这里插入图片描述
这个功能就需要把微信自带的导航栏样式给去掉,使用自定义导航栏样式,但是这个又产生一个问题,导航栏标题文字就不是很好适配了,因为不同手机型号,距离最上面的距离是不同的!

去掉导航栏的代码:

app.json

"window": {
   
   
  "navigationStyle": "custom"
},

2023/6/1 补充(2024/1/4 改)

菜鸟突然发现,之前写的已经成为历史了,现在微信小程序可以通过 api 直接获取到这些高度,所以菜鸟在这里进行更新!

app.js的onLaunch加入下方代码:

// 获取胶囊的详细信息
let menuButtonObject = wx.getMenuButtonBoundingClientRect(); 
wx.getSystemInfo({
   
   
  success: res => {
   
   
    // 导航高度
    let statusBarHeight = res.statusBarHeight,
      // 胶囊距离顶部高度
      navTop = menuButtonObject.top,
      // 胶囊按钮与右侧的距离 = windowWidth - right + 胶囊宽度(包括右边距离)
      navObjWid = res.windowWidth - menuButtonObject.right + menuButtonObject.width,
      // 导航栏整体高度
      navHeight = statusBarHeight + menuButtonObject.height + (navTop - statusBarHeight) * 2;
    this.globalData.navHeight = navHeight;
    this.globalData.navTop = navTop;
    this
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

PBitW

可以去掘金看更完善版本

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

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

打赏作者

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

抵扣说明:

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

余额充值