当前位置: 首页 > news >正文

uniapp底部导航栏凸起

方案一:midButton 只适用于app,不支持小程序

gitee地址

自己写的小demo 如需使用 自行clone 直接打开运行就可以

git clone https://gitee.com/WMY_1314/tabbar-protrusion.git

需求:

点击中间按钮出现弹窗,用于发布,其他底部按钮正常跳转页面

主要配置:

"midButton": {"iconPath": "/static/images/one.png", // 中间按钮图标"height": "60px", // 中间按钮高度(大于其他项高度)"iconWidth": "50px" // 图标宽度
},

 注意:midButton 只适用于 中间位置,底部导航两边要对称

配置解析:

  • iconPath:中间按钮的图标路径。

  • height:中间按钮的高度,设置为大于其他 TabBar 项的高度即可实现凸起效果。

  • iconWidth:图标的宽度,高度会等比例缩放。

  • 注意:midButton 没有 pagePath,需要通过监听点击事件自定义行为。

监听中间突起按钮点击事件

在app文件onLaunch 中放入此代码 监听凸起按钮点击事件

 onLaunch() {// 监听中间按钮点击事件uni.onTabBarMidButtonTap(() => {console.log('中间按钮被点击')});}

完整代码:

主要是配置 pages.json
{"pages": [ //pages数组中第一项表示应用启动页{"path": "pages/home/home","style": {"navigationBarTitleText": "首页"}},{"path": "pages/notification/notification","style": {"navigationBarTitleText": "圈子"}},{"path": "pages/likeShop/likeShop","style": {"navigationBarTitleText": "消息"}},{"path": "pages/my/my","style": {"navigationBarTitleText": "我的"}}],"globalStyle": {"navigationBarTextStyle": "black","navigationBarTitleText": "uni-app","navigationBarBackgroundColor": "#F8F8F8","backgroundColor": "#F8F8F8"},"uniIdRouter": {},"tabBar": {"color": "#000000", // 默认颜色"selectedColor": "#ff0000", // 选中颜色"borderStyle": "black", // 边框样式"backgroundColor": "#eeeeee", // 背景颜色"midButton": {"iconPath": "/static/images/one.png", // 中间按钮图标"height": "65px", // 中间按钮高度(大于其他项高度)"iconWidth": "56px" // 图标宽度},"list": [{"pagePath": "pages/home/home", // 首页页面路径"iconPath": "static/images/one.png", // 默认图标"selectedIconPath": "static/images/one.png", // 选中图标"text": "首页" // 文字},{"pagePath": "pages/notification/notification","iconPath": "static/images/one.png", // 默认图标"selectedIconPath": "static/images/one.png", // 选中图标"text": "圈子"},{"pagePath": "pages/likeShop/likeShop","iconPath": "static/images/one.png","selectedIconPath": "static/images/one.png","text": "消息"},{"pagePath": "pages/my/my","iconPath": "static/images/one.png","selectedIconPath": "static/images/one.png","text": "我的"}]}
}
app.vue
<script>export default {onLaunch: function() {console.log('App Launch')/* 监听底部中间按钮 */uni.onTabBarMidButtonTap(()=>{console.log('中间按钮的逻辑操作');})},onShow: function() {console.log('App Show')},onHide: function() {console.log('App Hide')}}
</script><style>/*每个页面公共css */
</style>

效果图:

方案二:自定义tabbar 组件

http://www.dtcms.com/a/290174.html

相关文章:

  • windows电脑给iOS手机安装ipa包的方法
  • Kubernetes Pod调度基础
  • Leetcode力扣解题记录--第238题(前/后缀积)
  • 【Git#6】多人协作 企业级开发模型
  • 3D可视化模型轻量化陷阱:STL转GLTF的精度损失与压缩比平衡策略
  • 【系统全面】Linux内核原理——基础知识介绍
  • H3C路由器模拟PPPOE拨号
  • MTSC2025参会感悟:Multi-Agent RAG 应用质量保障建设
  • Java IO流体系详解:字节流、字符流与NIO/BIO对比及文件拷贝实践
  • postgresql安装教程-个人笔记
  • 股票分红派息及其数据获取(使用Python)
  • selenium爬取图书信息
  • 关于JVM
  • 低速信号设计之 RGMII 篇
  • Rk3568驱动开发_非阻塞IO_16
  • 有关Mysql数据库的总结
  • Pytest 输出捕获详解:掌握如何查看和控制打印信息
  • Nacos 探活机制深度解析:临时 / 永久实例差异及与 Sentinel 的熔断协作
  • C++11之右值引用与移动语义(提高效率)重要
  • 「日拱一码」033 机器学习——严格划分
  • 【VASP】VASP 机器学习力场(MLFF)实战
  • 机器学习对词法分析、句法分析、浅层语义分析的积极影响
  • Taro 本地存储 API 详解与实用指南
  • 京东疯狂投资具身智能:众擎机器人+千寻智能+逐际动力 | AI早报
  • 从“被动照料”到“主动预防”:智慧养老定义的养老4.0时代
  • 迁移科技3D视觉系统:赋能机器人上下料,开启智能制造高效新纪元
  • Nacos中feign.FeignException$BadGateway: [502 Bad Gateway]
  • 第15次:商品搜索
  • Laravel 系统版本查看及artisan管理员密码找回方法针对各个版本通用方法及原理-优雅草卓伊凡
  • Java-78 深入浅出 RPC Dubbo 负载均衡全解析:策略、配置与自定义实现实战