首页 > 编程语言 >uniapp 开发微信小程序自定义与胶囊平行的导航栏

uniapp 开发微信小程序自定义与胶囊平行的导航栏

时间:2024-07-04 15:32:05浏览次数:11  
标签:uniapp 自定义 微信 statusBarHeight 高度 height custom 导航

1、page.json中使用custom自定义导航栏

{
"path": "pages/partners/index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom" //自定义导航栏样式
}
},

2、vue文件:

<template>
<view class="container">

<image src="../../static/commonbg.png" class="common-bg"></image> <--导航栏背景图-->
<!-- 自定义导航栏 -->

     <view class="navBarBox">
    <!-- 状态栏占位 -->
       <view class="statusBar" :style="{ paddingTop:statusBarHeight+'px' }"></view> <!--paddingTop是导航栏的顶部到手机顶部的距离,即显示wifi和电量的部分-->
      <!-- 真正的导航栏内容 ,即与胶囊平行部分-->
       <view class="navBar" :style="{ height:navBarHeight+'px' }">
       <!-- <view>导航栏标题</view> -->

     <!--使用图片-->

       <image src="../../static/selecticon.png" class="selecticon"></image>
       <image src="../../static/smallbell.png" class="smallbell"></image>
   </view>
</view>


<!-- 页面内容 -->
<view>我是页面内容</view>
</view>
</template>

<script>
export default {
data() {
return {
// 状态栏高度
statusBarHeight: 0,
// 导航栏高度
navBarHeight: 0,
};
},
props: {

},
//第一次加载时调用
created() {
//获取手机状态栏高度
this.statusBarHeight = uni.getSystemInfoSync()['statusBarHeight'];
console.log(this.statusBarHeight);
// #ifdef MP-WEIXIN
// 获取微信胶囊的位置信息 width,height,top,right,left,bottom
const custom = wx.getMenuButtonBoundingClientRect()
console.log(custom)

// 导航栏高度(标题栏高度) = 胶囊高度 + (顶部距离 - 状态栏高度) * 2
this.navBarHeight = custom.height + (custom.top - this.statusBarHeight) * 2
console.log("导航栏高度:" + this.navBarHeight)

// #endif
},
}
</script>

<style lang="scss">

.container{
background: rgba(245, 247, 249, 1);
height: 100vh;
position:relative;
.common-bg{
width:100%;
height:30%;
position:absolute;
}
.navBarBox {
position:absolute;
z-index:10;
right:240rpx;
.navBar {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
.selecticon{
width:62rpx;
height:62rpx;
margin-right:24rpx;
}
.smallbell{
width:62rpx;
height:62rpx;
}
}
}

</style>

标签:uniapp,自定义,微信,statusBarHeight,高度,height,custom,导航
From: https://www.cnblogs.com/panzai/p/18283939

相关文章

  • 在Linux中,自定义解析域名的时候,可以编辑哪个⽂件?是否可以⼀个ip对应多个域名?是否⼀个
    在Linux系统中,如果你想要自定义域名解析,通常有以下几种方法:编辑/etc/hosts文件:hosts文件是一个本地DNS解析文件,它允许你将域名映射到IP地址。你可以编辑这个文件来自定义域名解析。例如:192.168.1.10example.comwww.example.com在这个例子中,192.168.1.10是IP地址,exampl......
  • Log4Net配置详解及输出自定义消息类示例
    1.简单使用实例1.1添加log4net.dll的引用。  在NuGet程序包中搜索log4net并添加,此次我所用版本为2.0.17。如下图:1.2添加配置文件  右键项目,添加新建项,搜索选择应用程序配置文件,命名为log4net.config,步骤如下图:1.2.1log4net.config简单配置示例  下面是一个简单的......
  • Go语言--自定义函数
    定义格式函数构成代码执行的逻辑结构。在Go语言中,兩数的基本组成为:关键字func、函数名、参数列表、返回值、所数体和返回语句。函数定义说明:func:函数由关键字func开始声明FuncName:函数名称,根据约定,数名首字母小写即为private,大写即为public.参数列表:函数可以有0......
  • uniapp自定义富文本现实组件(支持查看和收起)
    废话不多说上代码CollapseText.vue<template> <viewv-if="descr"> <scroll-viewclass="collapse-text":style="{maxHeight:computedMaxHeight}"> <!--<slot></slot>--> <rich-text:nodes......
  • Docker自定义网络的好处
    docker基础(19):Docker网络之自定义网络_docker创建自定义网络-CSDN博客docker0网络特点他是默认的域名访问不通(有些应用是需要配置域名,或许写死ip配置就不够灵活)–link域名通了,但是删除了又不行docker--link容器互联_dockerlink-CSDN博客 简单点说,自定义网络的好处是不用......
  • 【uniapp】使用举例 radio控件与data()内数据绑定
     page.vue<template><checkbox-group@change="checkboxChange"><labelclass="flex-container"v-for="iteminitems":key="item.value"style="align-items:center;">......
  • 自定义Python工具箱实现mdb转出为shp或gdb格式----终章(工具免费)
    一、内容提示        前边几篇文章,介绍了mdb地理数据库结构解析、mdb转出为shp示例,以及mdb转为gdb的几种技术路线探讨,并未对mdb转出为shp、或gdb格式进行完整实现。        为了方便使用,并支持更加复杂的使用场景,小编已将前边几篇文章中的内容进行集成,将mdb......
  • uniapp h5部署二级目录
    uniapp部署二级目录在uniapp中,如果你想要将应用部署到二级目录中,你需要在manifest.json文件中配置相应的二级目录路径。以下是一个配置示例,假设你想要将应用部署到域名的subdir二级目录下:打开manifest.json文件。找到h5节点。设置router的base路径为你的二级......
  • 基于SpringBoot+Vue+基于微信小程序的音乐播放器系统设计和实现(源码+LW+部署讲解)
    博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P......
  • Vue技巧大揭秘:自定义指令的力量与应用
    引言自定义指令就像是给予开发者的一把魔法钥匙,它能够打开DOM操作的新世界,按我的理解就是把对DOM操作的逻辑进行封装全局注册与局部注册全局注册定义: 全局注册意味着自定义指令在Vue实例创建之前通过Vue.directive()方法注册,一旦注册,就可以在任意组件的模板中使用该指令。......