微信小程序自定义顶部导航栏(适配各种机型)

news/2024/11/15 6:09:10 标签: 微信小程序, 小程序

效果图

1.pages.js,需要自定义导航栏的页面设置"navigationStyle": "custom"

2.App.vue,获取设备高度及胶囊位置

  onLaunch: function () {
    // 系统信息
    const systemInfo = uni.getSystemInfoSync()
    // 胶囊按钮位置信息
    const menuButtonInfo = uni.getMenuButtonBoundingClientRect()

    this.globalData.navBarInfo = {
      statusBarHeight: systemInfo.statusBarHeight,
      top: menuButtonInfo.top,
      height: menuButtonInfo.height,
      paddingTop: menuButtonInfo.top + menuButtonInfo.height + menuButtonInfo.top - systemInfo.statusBarHeight,
      windowHeight: systemInfo.windowHeight
    };
  },

3.在需要的地方设置导航栏高度

<template>
  <view class="customNav" :style="{ ...styleClass, opacity: opacity, backgroundColor: bgcolorString }">
    <slot></slot>
  </view>
</template>
    const state = reactive({
      styleClass: {
        paddingTop: '60px',
        height: '32px',
      }
    })
    onShow(() => {
      const navBarInfo = getApp().globalData.navBarInfo
      state.styleClass = {
        paddingTop: navBarInfo.statusBarHeight + 'px',
        height: (navBarInfo.top - navBarInfo.statusBarHeight) * 2 + navBarInfo.height + 'px',
      }
    })


http://www.niftyadmin.cn/n/5752789.html

相关文章

thinkphp6 --数据库操作 增删改查

一、数据库连接配置 本地测试 直接在.env中修改&#xff0c;不用去config/database.php中修改 正式环境&#xff0c;在部署环境下数据库连接在 config 目录下的 database.php 文件中进行配置&#xff1a; 二、静态方式访问数据库 在tp6 中可以使用 Db 访问数据库&#xff0c;…

云运维基础

笔记内容侵权联系删除 云审计&#xff08;CTS&#xff09; 云审计云上资源变更均可被管控&#xff0c;实时系统性记录所有人的操作&#xff0c;无需手工统计。云审计服务支持将操作记录合并&#xff0c;周期性地生成事件文件实时同步转存到OBS存储桶&#xff0c;帮助用户实现…

ORA-00257: archiver error

ORA-00257: archiver error 归档满问题&#xff1a; 报错&#xff1a; SQL> conn admin/admin ERROR: ORA-00257: archiver error. Connect internal only, until freed. Warning: You are no longer connected to ORACLE. 检查空间&#xff1a; SQL> select name, tot…

uniapp h5 实现扫扫二维码

一、实现思路&#xff08;网上搜的&#xff09; 1.使用h5的navigator.mediaDevices.getUserMedia() 调起相机获取视频流 2.使用canvas截取二维码图片 3.使用qrcode解析二维码 二、源码 qrcode.js // qrcode.js var _aa {}; _aa._ab function (f, e) {var d qrcode.wid…

GNU/Linux - tar命令

1&#xff0c;Online GNU manual tar命令是一个古老的命令&#xff0c;在线帮助手册地址&#xff1a; GNU tar manual - GNU Project - Free Software Foundation GNU tar 1.35 这么一个简单命令&#xff0c;上面的在线手册却是非常的长。 2&#xff0c;Man命令 读取本地的man…

基于SpringBoot智慧社区管理平台

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…

分布式光伏智慧平台建设现场 系统集成商如何盈利

在当今能源转型的大背景下&#xff0c;分布式光伏作为一种清洁、可再生的能源形式&#xff0c;正得到越来越广泛的应用。而分布式光伏运维管理系统的出现&#xff0c;则为分布式光伏电站的高效、稳定运行提供了有力保障。 一、分布式光伏的发展现状 随着环保意识的不断提高和…

nrm的安装及使用

nrm的安装及使用 NRM&#xff08;NPM Registry Manager&#xff09;是一个用于快速切换npm&#xff08;Node Package Manager&#xff09;源的工具。npm是Node.js的包管理工具&#xff0c;用于安装、发布、管理Node.js包。由于网络原因&#xff0c;直接使用npm官方源&#xff…