小程序自定义导航栏,胶囊对齐解决方案

本文介绍了如何在小程序中获取状态栏、胶囊及导航栏的高度,并以px为单位进行计算,确保在不同设备上布局的一致性。通过调整wxml中的样式,实现图片的顶部间距和高度与导航栏匹配。同时,讨论了rpx单位在不同设备间转换可能导致的精度问题。

小程序胶囊高度组成

在这里插入图片描述

获取小程序状态栏,胶囊,导航栏 高度

  //  获取状态栏信息
  getMenuButtonBound() {
    let stateHeight = 0; //  接收状态栏高度
    const navHeight = wx.getMenuButtonBoundingClientRect().height; //  获取胶囊高度
    let top = 0;
    wx.getSystemInfo({
      success(res) {
        stateHeight = res.statusBarHeight;
      },
    });
    top = wx.getMenuButtonBoundingClientRect().top - stateHeight; //  获取top值
    console.log('navHeight', navHeight);
    console.log('top', top);
    this.setData({
      // navHeight: navHeight + top * 2, //  导航栏高度
      navHeight, //  导航栏高度
      stateHeight: stateHeight + top, //  状态栏高度
    });
  },

这个获取单位是px,之前换算的rpx,不同设备对rpx换算的比率不一样,导致高度有偏差

wxml代码

      <image class="backgroundtopimage" style="  margin-top: {{stateHeight}}px;  height: {{navHeight}}px;line-height: {{navHeight}}px;text-align: center; " src="/images/logotitle.jpg" />

尾声 - 持续学习

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,我们评论见,评论区告诉我还需要补哪些知识点哈 ~~ 🌹🌹🌹

点赞、收藏、评论,一键三连走起呀

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蔡俊锋

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

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

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

打赏作者

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

抵扣说明:

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

余额充值