小程序的navigation-bar组件高度的计算与使用

博主只是想实现一个听写的小功能,所以并不需要过多的拓展,官方导航组件就很好用。就是从网页端换到了小程序端,不太清楚如何去计算这个navigation-bar的高度,好在现在有ai工具,特别deepseek是触手可及的好工具。白天刷到一条新闻,说有对一行代码不会写的父子,成功利用ai开发了一个小游戏。好家伙,其他行业都是新品淘汰旧品,先进淘汰落后,程序员就比较狠了,自己淘汰自己:)。

高度的计算

虽然ai好用,但是因为软件版本迭代会导致早期的函数逐步实效,所以还是需要使用者反复调试检查一下的:

// app.js
App({
  globalData: {
    appName: "小鸟听写",
    appVersion: "1.2.0",
    appAuthor: "Alphonse",
    navBarHeight: 0
  },

  onLaunch() {
    try {
      const deviceInfo = wx.getDeviceInfo();
      const windowInfo = wx.getWindowInfo();
      const isIOS = deviceInfo.platform === 'ios';
      this.globalData.navBarHeight = windowInfo.statusBarHeight + (isIOS ? 40 : 44);
    } catch (error) {
      this.globalData.navBarHeight = 88;
    }
  }
});

高度的计算

实际应用,最初的想法是把值写入css变量里,然后在css(wxss)文件里利用calc来计算,但实际情况是微信小程序并不支持博主这样异想天开的操作,于是只能在js文件里计算出实际需要的高度,然后在wxml以行内css的方式写入,以下是在index页面实现计算的案例:

  onLoad(){
    const app = getApp();
    this.setData({
      appName: app.globalData.appName,
      appVersion: app.globalData.appVersion,
      appAuthor: app.globalData.appAuthor,
      contentHeight: `calc(100vh - ${app.globalData.navBarHeight}px)`
    });

在wxml文件里以行内方式应用:

<view class="container" style="height: {{contentHeight}};">
......
</view>

标签: 微信

移动端可扫我直达哦~

推荐阅读

thumbnail 2026-01-13

微信小程序开发学习笔记之模板

小程序模板(Template)是一种可复用的WXML代码片段,主要用于展示层(UI)的复用。小程序模板只包含WXML结构,可关联WXSS样式,不包含逻辑(无.js文件),没有独立作用域(样式会继承页面的样式)。一个小实例<!--...

建站相关 微信

thumbnail 2026-01-11

小鸟听写音频服务器的搭建流程

安装ffmpeg服务器用的阿里云,因为pip仓库里没有python的ffmpeg模块,所以退求其次,准备利用静态编译好的版本,上传到服务器之后,利用下面的命令解压缩:tar -xf ffmpeg-n7.1-62-gb168ed9b14...

建站相关 微信

thumbnail 2026-01-05

模拟器空白?win7环境下的微信小程序开发

小鸟数据的服务器到期,更换了阿里云的99计划的服务器,配置是稍微高了一点,但公网ip有点大问题,起初只是发现没办法curl访问一些常用的外部站点,这还只是小事,用一个本地linux小主机获取数据自动上传到阿里云就解决了。近期又发现,更...

建站相关 微信