微信小程序+.NET(十) 小程序之自定义顶部导航栏

本文介绍如何在微信小程序中实现自定义顶部导航栏,包括按钮和标题的定制,通过组件化方式增加功能性和美观性,适用于小说阅读等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微信小程序之自定义顶部导航栏

这个问题是我在设计小说阅读模式页面时想到的,因为想将一些功能集成到顶部,
在这里插入图片描述
本来想也给web-view页面加上自定义的转码功能,后来发现web-view二话不说上来直接铺满页面,直接把navigationStyle: 'custom'选项失效掉
在这里插入图片描述
个人认为这一点极大限制了web-view组件的功能,使它的应用场景变得很狭窄。
回到正题,我在参考了网上一些资料后实现了这一功能:
在这里插入图片描述
如图,将自定义导航栏作为一个组件component
1.首先,修改navbar.json文件,注册为组件
在这里插入图片描述
2.编写navbar.wxml
在这里插入图片描述
这里的四个含有<image><view>就是自定义的按钮了
3.编写.js
在这里插入图片描述
首先上图的结构是properties:{}是配置的参数;
在这里插入图片描述
data:{}是本页数据;
在这里插入图片描述
methods:{}是按钮的监听事件
在这里插入图片描述
4.格式文件.wxss:

.navbar {
  width: 100vw;
  background-color: #2f2f2f;
  position: fixed;
  z-index: 10001;
}

.title-container {
  height: 44px;
  display: flex;
  align-items: center;
  position: relative;
}

.capsule {
  margin-left: 10px;
  height: 32px;
  border: 1px solid #777;
  border-radius: 16px;
  display: flex;
  align-items: center;
}

.capsule > view {
  width: 32px;
  height: 60%;
  position: relative;
}

.capsule > view:nth-child(2) {
  border-left: 1px solid #777;  
}
.capsule > view:nth-child(3) {
  border-left: 1px solid #777;  
}
.capsule > view:nth-child(4) {
  border-left: 1px solid #777;  
}

.capsule image {
  width: 60%;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}

.title {
  color: white;
  position: absolute;
  left: 104px;
  right: 104px;
  font-size: 14px;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

5.使用方法
在XXX.wxml文件头部:
在这里插入图片描述
<navbar后面加的四个参数就是需要显示的按钮,可以通过增减这四个参数来增减相应按钮,text里的就是标题
然后要在XXX.json文件配置,使自定义导航栏生效:
在这里插入图片描述
6.记得配置app.json(web-view页面此处的配置失效)
在这里插入图片描述
源码链接:

https://download.youkuaiyun.com/download/jinglell/11566840
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值