微信小程序:自定义导航栏
2024-09-01 12:45:14
在小程序开发的时候会遇到一些页面不需要头部导航,或像淘宝的商品详情一样自定义的导航栏。那先要清楚这导航可不能写死,每种手机的导航都各不相同。
一、在app.json
的window
对象中定义导航的样式:
"window":{
"navigationStyle": "custom"
},
这样你会发现所有页面的导航栏都不见了。如果还有其他页面需要导航栏的,那就模仿小程序的导航栏按照以下步骤。
二、首先要在app.js
的onLaunch
方法里面获取手机状态栏高度,全局定义导航高度navHeight
:
// 获取手机系统信息
wx.getSystemInfo({
success: res => {
//导航高度
this.globalData.navHeight = res.statusBarHeight + 46;
}, fail(err) {
console.log(err);
}
})
注意!!!全局定义导航高度navHeight
!!!
我发现很多人会遇到navHeight
是undefined
这个问题。在这里说明一下,这个navHeight
需要在app.json
里面定义好:
globalData: {
userInfo: null,
navHeight: 0
}
三、在需要导航的 页面Page
拿到全局变量导航高度:
const App = getApp();
Page({
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
navH: App.globalData.navHeight
})
},
})
四、页面展示:
<view>
<view class='nav bg-white' style='height:{{navH}}px'>
<view class='nav-title'>
首页
<image src='../../images/back.png' mode='aspectFit' class='back' bindtap='navBack'></image>
</view>
</view>
<scroll-view class='bg-gray overflow' style='height:calc(100vh - {{navH}}px)' scroll-y >
<view class='hidden'>
<!-- 正文 -->
</view>
</scroll-view>
</view>
五、附上样式,可以写在app.wxss
:
.nav{
width: 100%;
overflow: hidden;
position: relative;
top:;
left:;
z-index:;
}
.nav-title{
width: 100%;
height: 45px;
line-height: 45px;
text-align: center;
position: absolute;
bottom:;
left:;
z-index:;
font-family:PingFang-SC-Medium;
font-size:36rpx;
letter-spacing:2px;
}
.nav .back{
width: 22px;
height: 22px;
position: absolute;
bottom:;
left:;
padding: 10px 15px;
}
.bg-white{
background-color: #ffffff;
}
.bg-gray{
background-color: #f7f7f7;
}
.overflow{
overflow: auto;
}
.hidden{
overflow: hidden;
}
转: https://www.jianshu.com/p/5753a0e1754f
最新文章
- Mvc模板页
- asp.net+nopi生成Excel遇到设置单元格值null问题
- Java中Atomic包的实现原理及应用
- 利用UIScrollView实现几个页面的切换
- C#操作sql通用类 SQLHelper
- 判断JS类型
- 官网下载旧版本的Xcode
- 关于Cocos2d-x 3.0正式版 粒子问题在IOS上正常显示,在Android下有问题的解决方式
- React Native之hellWord
- vue-cli 第二章 (常见问题修正)
- hadoop-eclipse插件编译及windows下运行wordcount项目
- CAS单点登录安装笔记
- go语言之进阶篇通过switch实现类型断言
- PCL点云分割(1)
- SpringBoot自动化配置的注解开关原理
- 【转】一个简单的WCF回调实例
- 关于 \t 水平制表符 Horizontal Tab (TAB)
- Java初学者笔记四:按行读写文件和输入处理
- Nginx优化指南
- linux下bash脚本语法
热门文章
- Python标准库3.4.3-random
- OpenStack 2014.1(Icehouse) 更新说明
- Tensorflow&CNN:验证集预测与模型评价
- Centos 6.x开机启动流程
- 工程代码不编译src的java目录下的xml文件问题及解决
- Vmware Pro 14报错:无法连接 MKS: 套接字连接尝试次数太多;正在放弃。
- Hibernate初探之单表映射——创建Hibernate的配置文件
- BZOJ3514 GERALD07加强版
- ***PHP preg_match正则表达式的使用 转载:https://www.cnblogs.com/kenshinobiy/p/4443600.html
- [bzoj 2393] Cirno的完美算数教室 (容斥原理+dfs剪枝)