小程序自定义导航栏高度

了解导航栏高度的计算方式

我们先要知道导航栏高度是怎么组成的, 计算公式: 导航栏高度 = 状态栏到胶囊的间距(胶囊距上距离-状态栏高度) * 2 + 胶囊高度 + 状态栏高度 。

获取导航栏高度

用wx.getSystemInfoSync() 获取系统信息,里面有个参数:statusBarHeight(状态栏高度),是我们后面计算整个导航栏的高度需要用到的。

const systemInfo = wx.getSystemInfoSync();

获取胶囊按钮的布局位置信息

我们用wx.getMenuButtonBoundingClientRect() 【官方文档】 获取胶囊按钮的布局位置信息

const menuButtonInfo = wx.getMenuButtonBoundingClientRect();

在这里插入图片描述

最后的计算

(menuButtonInfo.top - systemInfo.statusBarHeight) * 2 + menuButtonInfo.height + systemInfo.statusBarHeight
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在专有钉钉小程序自定义导航栏,可以按照以下步骤进行: 1. 在 app.json 文件中添加 "navigationStyle": "custom",表示自定义导航栏样式。 2. 在页面的 json 文件中添加 "navigationBarBackgroundColor"、"navigationBarTextStyle" 和 "navigationBarTitleText" 字段,分别表示导航栏背景色、导航栏文字样式和导航栏标题。 3. 在页面的 wxml 文件中添加一个自定义导航栏的容器,可以使用一个 view 标签,设置它的样式和位置,例如: ```html <view class="custom-nav"> <text class="nav-title">{{title}}</text> </view> ``` 4. 在页面的 js 文件中,定义一个 title 变量,用来保存导航栏的标题。 5. 在页面的 onReady 函数中,调用 dd.getSystemInfoSync() 方法获取系统信息,获取导航栏高度和状态栏高度,并将自定义导航栏容器的 top 属性设置为状态栏高度,例如: ```javascript onReady: function () { var systemInfo = dd.getSystemInfoSync(); var statusBarHeight = systemInfo.statusBarHeight; var navHeight = 44; this.setData({ title: '自定义导航栏', navHeight: navHeight, statusBarHeight: statusBarHeight }); } ``` 6. 在页面的样式文件中,设置自定义导航栏容器的样式,例如: ```css .custom-nav { position: fixed; top: {{statusBarHeight}}px; left: 0; width: 100%; height: {{navHeight}}px; background-color: #F8F8F8; border-bottom: 1px solid #DDDDDD; display: flex; justify-content: center; align-items: center; } .nav-title { font-size: 18px; color: #333333; } ``` 通过以上步骤,就可以在专有钉钉小程序自定义导航栏了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值