当前位置: 首页 > news >正文

uniapp开发微信小程序,根据胶囊按钮来自定义导航栏

背景描述

uniapp开发小程序时候,使用自定义的导航栏,因为胶囊按钮的原因,每个设备里胶囊按钮距离顶部的位置都是不固定的,所以为了布局不乱(掩盖了胶囊按钮或者需要跟胶囊按钮对齐),需要动态计算出胶囊按钮的信息,然后动态给自定义导航栏高度。

步骤

在这里插入图片描述

通过上面图片,可以得出计算自定义导航栏高度的公式:
导航栏高度= 状态栏高度 + 胶囊按钮的高度 +(胶囊按钮距离顶部的距离-状态栏的高度)*2。

  <!-- 自定义导航栏组件 -->
 <view class="customNavigationBar" :style="{height: customNavigationBarHeight+'px'}"
  	
  </view>
import {ref} from 'vue'
/*
数据
*/
const title=ref('Hello Vue3!!!')
let customNavigationBarHeight = ref(0)// 动态设置自定义导航栏高度
// 获取状态栏的高度
const statusBarHeight = uni.getWindowInfo().statusBarHeight
// 获取胶囊按钮的高度
const menuButtonHeight = uni.getMenuButtonBoundingClientRect().height
// 获取胶囊按钮的top
const menuButtonTop = uni.getMenuButtonBoundingClientRect().top
customNavigationBarHeight.value = statusBarHeight+menuButtonHeight+(menuButtonTop-statusBarHeight)*2
console.log('@',customNavigationBarHeight.value)

大功告成

相关文章:

  • wordpress中文标签件seo关键词排名优化制作
  • 竞价托管网站建设青岛seo百科
  • 中搜网站提交东莞网站关键词优化排名
  • 盐城网站开发怎么样steam交易链接在哪看
  • 网站图片尺寸网络营销总监岗位职责
  • 上海建设小学网站网页广告怎么投放
  • java InterruptedException
  • 从零开始写android 的智能指针
  • vue watch 和 watchEffect的区别和用法
  • C++:日期类,运算符重载,深浅拷贝问题
  • python:面向对象之包
  • 2025.04.10-拼多多春招笔试第四题
  • MySQL的半同步模式
  • 中间件-消息队列
  • 网络3 子网掩码 划分ip地址
  • h265为什么没有大范围应用
  • C/C++共有的类型转换与c++特有的四种强制类型转换
  • MySQL——存储过程、索引
  • 融智学三大定律:打开人机协同智慧大门的钥匙
  • 深度分页及优化建议
  • 【前端】【难点】前端富文本开发的核心难点总结与思路优化
  • 飞书集成衡石ChatBot实战:如何10分钟搭建一个业务数据问答机器人?
  • 期望理论解析
  • MCP基础学习三:MCP客户端开发与工具集成
  • linux系统编程里面的嵌套锁
  • 强化学习算法系列(二):Model-Free类方法——蒙特卡洛算法(MC)和时序差分算法(TD)