首页 > 编程语言 >微信小程序-自定义导航栏

微信小程序-自定义导航栏

时间:2024-07-25 14:58:33浏览次数:16  
标签:const 自定义 微信 高度 navBarHeight 导航 页面

参考文章:自定义navigationBar顶部导航栏,兼容适配所有机型(附完整案例) | 微信开放社区 (qq.com)

1. 设置导航栏样式自定义

"navigationStyle": "custom"

可以选择在页面json文件设置,也可选择在app.json文件设置,我选择 页面配置

2. 定义想要的导航栏样式

.navCustom {
  position: fixed; 
  top: 0; 
  width: 100%;
  color: white;
  font-weight:bold;
  background: linear-gradient(to right, rgb(6, 194, 113) 30%, rgb(2, 169, 146));
}

最初最想要的是导航栏颜色渐变

3. 计算导航栏高度

    const that = this;
    // 获取系统信息
    const systemInfo = wx.getSystemInfoSync();
    // 胶囊按钮位置信息
    const menuButtonInfo = wx.getMenuButtonBoundingClientRect();
    // 导航栏高度 = 状态栏高度 + 44
    that.globalData.navBarHeight = systemInfo.statusBarHeight + 44;

此处选择在app.js文件(小程序启动时)计算并存储在全局变量中

4. 页面引入全局变量的导航栏高度

  data: {
    navBarHeight: getApp().globalData.navBarHeight,
  },

5. 布局

<view class="navCustom" style="height:{{navBarHeight}}px;">
  <view style="position: absolute; bottom: 10rpx; padding-left: 20rpx; width: 100%; display: flex; ">
    <image src="/images/logo.png" mode="" style="width: 60rpx; height: 60rpx;"/>
    <view style="height: 60rpx; display: flex; align-items: center; margin-left: 15rpx;">
      <text>公司名称</text>
    </view>
  </view>
</view>
<view style="margin-top:{{navBarHeight}}px;"></view>

对于要显示的内容(此项目中的logo、文字等),采取绝对布局,且是相对于底部的,这样才能在PC预览中得到想要的效果

最终效果:

PC端预览

标签:const,自定义,微信,高度,navBarHeight,导航,页面
From: https://blog.csdn.net/qq_53024519/article/details/140662904

相关文章

  • 微信小程序批量检测是否被封禁异常PHP代码
             ​      <?php//要检测的appid列表$appids=array('appid1','appid2','appid3');//使用实际的appid//循环调用接口检测小程序状态foreach($appidsas$appid){    $url='https://down.ychengsnsm.com/xcx/checkxcx.php?appid=......
  • 【微信小程序开发】从0-1注册、下载、安装、开发保姆篇教程(附Demo源码)
    文章目录前期准备注册登陆下载安装创建项目项目结构版本管理程序页面生命周期新增页面功能实现本篇小结更多相关内容可查看前期准备要有前端开发基础,已安装NodeJS,若未安装请参考NodeJS安装并生成Vue脚手架(保姆级)可参考小程序开发官方文档进行学习,本文也是参考......
  • 基于jQuery的用户自定义页面
    1.需求在最简单的场景里面,我们需要在用户自定义页面显示一些数据,和输入一些数据。如下源代码:<!--AWP_In_VariableName='"enable_cycle"'--><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transit......
  • 【正在编辑中...】ENVI56扩展工具:添加自定义光谱指数——以NDWI和NDBSI为例
    本工具适用于ENVI5.6及以上版本(本人测试最低版本为5.6.3)。ENVI内置了上百种指数公式,但是大家在使用过程中肯定会有自定义指数的需求。在之前只能通过波段运算工具实现指数计算,现在可以通过本工具方便的添加自定义光谱指数,然后可以通过如下工具或API使用新指数:光谱指数工具:Too......
  • 免费分享一套微信小程序图书馆座位预约管理系统(SpringBoot后端+Vue管理端)【论文+源
    大家好,我是java1234_小锋老师,看到一个不错的微信小程序图书馆座位预约管理系统(SpringBoot后端+Vue管理端),分享下哈。项目介绍随着移动互联网技术的飞速发展和智能设备的普及,图书馆服务模式正在经历深刻的变革。本论文旨在探讨如何利用微信小程序这一便捷高效的平台,开发一款......
  • 微信小程序本地读取xls文件
    微信小程序本地读取xls文件:其中用到一个js-xlsx库:https://docs.sheetjs.com/docs/demos/frontend/vue/,主要思路是1.通过  wx.chooseMessageFile上传文件,获得一个临时地址 tempFilePath。(这个地址不能当作文件路径,让js-xlsx库读取,constworkbook=XLSX.readFile('临......
  • 苹果微信分身:开启你的高效社交新时代
    在数字化浪潮中,社交软件已成为我们日常生活中不可或缺的一部分,而微信作为其中的佼佼者,更是承载了无数人的沟通与交流。然而,随着工作与私人生活的界限日益模糊,如何在苹果手机上高效管理多个微信账号成为了许多用户的共同需求。幸运的是,苹果微信分身功能应运而生,为用户带来了前所......
  • 自定义菜单未显示在 odoo 门户视图上
    我想在odoo门户视图上显示自定义菜单。XML文件:<?xmlversion="1.0"encoding="UTF-8"?><odoo><data><templateid="portal_my_home_loan"name="PartnerLoan"customize_show="True"inh......
  • vue 2 实现自定义组件一到多个v-model双向数据绑定的方法(转)
    原文链接:https://blog.csdn.net/Dobility/article/details/110147985前言有时候我们需要对一个组件绑定自定义v-model,以更方便地实现双向数据,例如自定义表单输入控件。甚至有时候,我们想要实现绑定多个“v-model”,也就是多个“双向绑定”,例如带表单输入的模块框,想同时控制模态......
  • 基于微信小程序+协同过滤推荐算法+SpringBoot+数据可视化的校园顺路代送平台设计和实
    博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P......