如何在 UniApp 中设置中间 TabBar 凸起效果

在移动应用开发中,TabBar 是常见的导航组件,而中间凸起的 TabBar 按钮则是一种流行的设计风格,常用于突出重要功能(如发布、拍照等)。UniApp 提供了 midButton 属性,可以轻松实现这种效果。本文将详细介绍如何在 UniApp 中配置中间凸起的 TabBar,并处理其点击事件。


一、实现效果

我们将实现一个带有中间凸起按钮的 TabBar,效果如下:

  • 中间按钮高度大于其他 TabBar 项,形成凸起效果。
  • 中间按钮没有 pagePath,需要通过监听点击事件自定义行为。
  • 其他 TabBar 项正常跳转页面。

二、配置 TabBar

pages.json 中配置 tabBar,具体代码如下:

{"tabBar": {"color": "#b1b6bd", // 默认颜色"selectedColor": "#2E3A71", // 选中颜色"borderStyle": "black", // 边框样式"backgroundColor": "#fff", // 背景颜色"midButton": {"iconPath": "/static/images/communication/communication.png", // 中间按钮图标"height": "65px", // 中间按钮高度(大于其他项高度)"iconWidth": "56px" // 图标宽度},"list": [{"pagePath": "pages/home/home", // 首页页面路径"iconPath": "static/images/home/home.png", // 默认图标"selectedIconPath": "static/images/home/home_active.png", // 选中图标"text": "首页" // 文字},{"pagePath": "pages/notification/notification","iconPath": "static/images/notification/notification.png","selectedIconPath": "static/images/notification/notification_active.png","text": "客户"},{"pagePath": "pages/shop/likeShop/likeShop","iconPath": "static/images/shop/shop.png","selectedIconPath": "static/images/shop/shop_active.png","text": "工单"},{"pagePath": "pages/my/my","iconPath": "static/images/my/my.png","selectedIconPath": "static/images/my/my_active.png","text": "我的"}]}
}

关键配置说明:

  1. midButton 属性

    • iconPath:中间按钮的图标路径。
    • height:中间按钮的高度,设置为大于其他 TabBar 项的高度即可实现凸起效果。
    • iconWidth:图标的宽度,高度会等比例缩放。
    • 注意:midButton 没有 pagePath,需要通过监听点击事件自定义行为。
  2. list 属性

    • 配置其他 TabBar 项的页面路径、图标和文字。

三、监听中间按钮点击事件

由于 midButton 没有 pagePath,我们需要通过 UniApp 提供的 API uni.onTabBarMidButtonTap 监听其点击事件,并自定义行为。

在项目的入口文件(如 App.vue)中添加以下代码:

<script>
export default {onLaunch() {// 监听中间按钮点击事件uni.onTabBarMidButtonTap(() => {console.log('中间按钮被点击');// 自定义行为,例如跳转到指定页面uni.navigateTo({url: '/pages/publish/publish' // 跳转到发布页面});});}
};
</script>

关键点:

  1. uni.onTabBarMidButtonTap

    • 用于监听中间按钮的点击事件。
    • 在回调函数中编写自定义逻辑,例如跳转到指定页面。
  2. 跳转页面

    • 使用 uni.navigateTo 跳转到目标页面。
    • 如果需要跳转到 TabBar 页面,可以使用 uni.switchTab

四、注意事项

  1. 图标尺寸

    • 中间按钮的图标尺寸需要根据设计稿调整,确保显示效果符合预期。
  2. 凸起高度

    • midButtonheight 属性决定了凸起的高度,建议根据实际需求调整。
  3. 兼容性

    • midButton 是 UniApp 提供的特性,确保使用的 UniApp 版本支持该功能。
  4. 自定义样式

    • 如果需要更复杂的样式(如背景图、字体图标等),可以通过 backgroundImageiconfont 属性实现。

五、总结

通过 UniApp 的 midButton 属性,我们可以轻松实现中间凸起的 TabBar 效果。关键步骤如下:

  1. pages.json 中配置 tabBar,设置 midButton 的高度和图标。
  2. 使用 uni.onTabBarMidButtonTap 监听中间按钮的点击事件,并自定义行为。
  3. 根据需求调整图标尺寸、凸起高度等样式。

希望本文能帮助你快速实现中间凸起的 TabBar 效果!如果有任何问题,欢迎留言讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90533.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90533.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/90533.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微观低代码

今日去深圳的一家工厂给客户做培训&#xff0c;主要培训内容为低代码产品的二开和功能演示。客户使用了20年的ERP和OA系统&#xff0c;目前想对接到低代码平台。客户目前想实现的主要功能是&#xff0c;对接OA的单点登录&#xff0c;把ERP的功能迁移到低代码平台上来工厂规模比…

Linux进程控制:掌握系统的核心脉络

Linux进程控制&#xff1a;掌握系统的核心脉络 在 Linux 系统中&#xff0c;进程控制是系统运行的核心机制之一。无论是日常的命令行操作&#xff0c;还是复杂的后台服务运行&#xff0c;都离不开对进程的管理和控制。本文将深入探讨 Linux 进程控制的相关知识&#xff0c;帮助…

4N90-ASEMI电机控制专用4N90

编辑&#xff1a;LL4N90-ASEMI电机控制专用4N90型号&#xff1a;4N90品牌&#xff1a;ASEMI封装&#xff1a;ITO-220ABRDS(on):3.60Ω批号&#xff1a;最新引脚数量&#xff1a;3封装尺寸&#xff1a;如图特性&#xff1a;N沟道MOS管工作结温&#xff1a;-55℃~150℃一、卓越性…

Java 笔记 lambda

✅Lambda 基本语法 (parameters) -> expression 或 (parameters) -> { statements }// 无参数 Runnable r () -> System.out.println("Hello");// 单个参数&#xff08;小括号可省略&#xff09; Consumer<String> c s -> System.out.println(s…

安全风险监测平台:被动应对向主动预防的转变

一、智能识别预警系统安全风险监测平台通过部署多维度感知网络&#xff0c;实现对各类安全隐患的智能识别与实时预警。系统采用深度学习算法&#xff0c;对人员行为、设备状态、环境参数等进行全天候监测分析&#xff0c;建立动态风险评估模型。当检测到异常情况时&#xff0c;…

图片查重从设计到实现(2)Milvus安装准备etcd介绍、应用场景及Docker安装配置

etcd作用、应用场景及Docker安装配置 在分布式向量数据库 Milvus 的架构中&#xff0c;etcd 扮演着至关重要的角色。Milvus 用于存储和管理海量向量数据&#xff0c;支持高效的相似性搜索等操作&#xff0c;而其分布式集群的正常运行高度依赖元数据的一致性和可靠性&#xff0c…

零弹窗干扰的贪吃蛇游戏,下载即玩

软件介绍 在寻找贪吃蛇游戏的过程中&#xff0c;我发现了一款PC端版本&#xff0c;无需登录即可直接使用&#xff0c;完全符合我的需求。 使用优势 这款软件最大的亮点在于完全免费&#xff0c;没有任何广告和弹窗干扰&#xff0c;支持完全离线运行&#xff0c;让用户能够专注…

excel2013VBA开发access mdb数据库系统的一点经验分享

最近&#xff0c;自己从网盘里重新下载了过去保存的vba开发资料&#xff0c;就顺手研究起了如何能通过excel203结合access 2013 mdb数据库系统开发个VBA小系统。过简单一说说了&#xff01;接说干货经验分享吧&#xff0c;1、俺先在mdb数据库中建了一个有自动编号字段的数据表&…

我们能否承担微服务带来的复杂性和运维成本?

坦率地说&#xff0c;并非所有团队都应该&#xff0c;承担微服务带来的复杂性和运维成本。在做出决定前&#xff0c;我们必须进行自我评估。 以下是评估是否能承担微服务成本需要考虑的关键方面&#xff1a; 一、 复杂性带来的挑战 (Complexity Challenges):分布式系统固有复杂…

HCIP--MGRE实验

一、实验拓扑二、配置思路1、建立拓扑&#xff0c;配置IP&#xff0c;配置缺省路由是公网通畅2、路由器R1-R5,R2-R5,R3-R5之间都是串线链接&#xff0c;由于华为路由器默认的串线协议为PPP&#xff0c;因此根据实验要求&#xff0c;R1-R5,R2-R5之间直接进行单向认证&#xff0c…

数字孪生映射探索驱动的具身导航!MorphoNavi:面向对象映射的空地机器人导航

作者&#xff1a; Sausar Karaf, Mikhail Martynov, Oleg Sautenkov, Zhanibek Darush, Dzmitry Tsetserukou单位&#xff1a;俄罗斯斯科尔科沃科学技术研究院智能空间机器人实验室论文标题&#xff1a;MorphoNavi: Aerial-Ground Robot Navigation with Object Oriented Mappi…

统计与大数据分析与数学金融课程解析

CDA数据分析师证书含金量高&#xff0c;适应了未来数字化经济和AI发展趋势&#xff0c;难度不高&#xff0c;行业认可度高&#xff0c;对于找工作很有帮助。一、课程体系对比矩阵维度统计与大数据分析数学金融交叉领域数学基础概率论(90%)随机过程(85%)线性代数(100%)核心工具P…

整蛊小程序:关机程序(C语言)

整蛊小程序&#xff1a;关机程序&#xff08;C语言) 跟着潼心走&#xff0c;轻松拿捏C语言&#xff0c;困惑通通走&#xff0c;一去不回头~欢迎开始今天的学习内容&#xff0c;你的支持就是博主最大的动力。 目录 整蛊小程序&#xff1a;关机程序&#xff08;C语言) 程序内容…

PHP框架之Laravel框架教程:1. laravel搭建

1. laravel搭建 本教程适合有php基础的同学学习 安装方式一&#xff1a; 使用 Laravel 安装器&#xff1a; 需要本地先安装PHP 和 Composer&#xff0c;这个自行安装下。 安装完成后验证方式&#xff1a; // 终端输入&#xff0c;就可以看到结果 php --version composer --vers…

HMC7044芯片配置(图文+解析+代码仿真)

详细代码及仿真源文件已同步上传至个人主页资源&#xff08;原创不易&#xff0c;转载请注明出处&#xff09; 目录 模块图 代码实现 时序图 仿真图 HMC7044介绍 一、概述 HMC7044是带有 JESD204B 接口的高性能、3.2 GHz、14 路输出抖动衰减器&#xff0c;提供 14 路低噪…

Dify开发教程笔记(一): 文件及系统参数变量说明及使用

开始 Copy page 定义“开始” 节点是每个工作流应用&#xff08;Chatflow / Workflow&#xff09;必备的预设节点&#xff0c;为后续工作流节点以及应用的正常流转提供必要的初始信息&#xff0c;例如应用使用者所输入的内容、以及上传的文件等。 配置节点在开始节点的设置页…

iOS 26,双版本更新来了

7 月 25 日&#xff0c;苹果终于给用户推送了 iOS 26 的首个公测版本。参与了公测版计划的小伙伴在软件更新页面选择 iOS 26 Public Beta 就能升级 iOS 26 的公测版。同时苹果还推送了 iOS 26 Beta 4 的第二个版本 。也就是说之前已经升级了 iOS 26 Beta 4 的小伙伴&#xff0c…

什么是JSON,如何与Java对象转化

JSON概念 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它易于人阅读和编写&#xff0c;同时也易于机器解析和生成。JSON 基于 JavaScript&#xff08;ECMAScript&#xff08;欧洲计算机协会制定的js规范&#xff09;&#xff09; 编程语言的一个子集&…

从零开始的云计算生活——第三十六天,山雨欲来,Ansible入门

目录 一.故事背景 二.Ansible简介 什么是Ansible&#xff1f; Ansible的特点 Ansible的架构 三.Ansible任务执行解析 ansible任务执行模式 ansible执行流程 ansible命令执行过程&#xff08;重要&#xff09; 四.Ansible配置解析 ansible的安装方式 ansible的程序结…

【6G新技术探索】AG-UI(Agent User Interaction Protocol) 协议介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G技术研究。 博客内容主要围绕…