HarmonyOS6 底部导航栏组件 rc_concave_tabbar 使用指南

HarmonyOS6 底部导航栏组件 rc_concave_tabbar 使用指南

文章目录

前言

rc_concave_tabbar 是一个功能强大、样式精美的 HarmonyOS 底部导航栏组件库,提供凹陷圆形动画效果样式,适用于多种场景。本篇将介绍 rc_concave_tabbar 的使用方法以及其相关的设计理念。

组件特性

  • 流畅动画:支持流畅的凹陷圆形切换动画效果
  • 高度定制:支持自定义背景色、字体颜色、高度等多种样式配置
  • 灵活配置:支持全局配置和单项配置,满足不同场景需求
  • 简单易用:API 设计简洁,快速集成到 HarmonyOS 项目中
  • 性能优化:动画流畅,性能表现优异

适用场景

  • 电商类应用底部导航
  • 社交类应用主页面切换
  • 内容资讯类应用导航栏
  • 工具类应用多功能入口
  • 需要精美底部导航动效的各类应用

使用说明

安装组件

rc_concave_tabbar 已发布到 OpenHarmony 三方库中心仓库中,访问地址为:https://ohpm.openharmony.cn/#/cn/detail/rc_concave_tabbar

安装步骤
  1. 添加依赖

在项目根目录下执行以下命令:

 ohpm install rc_concave_tabbar 
安装依赖
  1. 基本使用
步骤一:引入相关依赖

在需要使用组件的页面文件中,导入必要的类型和组件:

import{ TabMenusInterfaceIRequired, TabsConcaveCircle }from'rc_concave_tabbar'
步骤二:创建菜单数据

定义状态变量和菜单配置数据:

// 当前选择的菜单@State currentIndex:number=0;// 菜单数据@State TabsMenu: TabMenusInterfaceIRequired[]=[{ text:"首页", image:$r("app.media.index1"), selectImage:$r("app.media.index")},{ text:"分类", image:$r("app.media.classify1"), selectImage:$r("app.media.classify")},{ text:"发现", image:$r("app.media.find1"), selectImage:$r("app.media.find")},{ text:"我的", image:$r("app.media.resumeReview"), selectImage:$r("app.media.resumeReview1")}];

说明:

  • currentIndex:用于追踪当前选中的菜单索引
  • TabsMenu:菜单配置数组,每个对象代表一个菜单项
  • image:菜单项未选中时显示的图标资源
  • selectImage:菜单项选中时显示的图标资源
步骤三:使用导航组件

在页面的 build() 方法中集成 TabsConcaveCircle 组件:

build(){Column(){// 页面内容区域Column(){Text(`当前页面是${this.currentIndex}页面`).fontColor('#ffffff').fontWeight(900)}.alignItems(HorizontalAlign.Center).justifyContent(FlexAlign.Center).width('100%').layoutWeight(1)// 基本使用TabsConcaveCircle({ tabsMenu:this.TabsMenu, selectIndex: $currentIndex, tabsBgColor:'#ffffff', tabHeight:60, tabsSelectBgColor:'rgba(92, 187, 183, 1)', tabsFontColor: Color.Black, tabsSelectFontColor: Color.Blue })}.height('100%').width('100%').backgroundColor('#333333')}

代码说明:

  • tabsMenu:传入菜单配置数组
  • selectIndex:使用 $currentIndex 进行双向绑定,实现索引同步
  • tabsBgColor:设置导航栏背景颜色为白色
  • tabHeight:设置导航栏高度为 60vp
  • tabsSelectBgColor:设置选中球的填充颜色
  • tabsFontColor:设置未选中时的文字颜色
  • tabsSelectFontColor:设置选中时的文字颜色

运行效果

完成以上配置后,运行项目即可看到精美的凹陷圆形动画效果:

参数介绍

TabsConcaveCircle 组件参数

TabsConcaveCircle 是主要的导航栏组件,支持以下参数配置:

参数类型必填默认值说明
tabsMenuTabMenusInterfaceIRequired[]-导航菜单项数组,定义所有菜单项的配置
selectIndexnumber-当前选中的索引(使用 @Link 双向绑定)
tabHeightnumber60TabBar 高度(单位:vp)
tabsBgColorColor | string | Resourcergb(255, 255, 255)导航栏背景颜色,支持多种格式
tabsSelectBgColorColor | string | Resourcergba(92, 187, 183, 1)选中球的填充色,即凹陷圆形的颜色
tabsFontColorColor | string | ResourceColor.Black未选中时的字体颜色(全局配置)
tabsSelectFontColorColor | string | ResourceColor.Black选中时的字体颜色(全局配置)
animateTimenumber1000动画执行时长(单位:毫秒)

TabMenusInterfaceIRequired 菜单项配置

每个菜单项支持以下配置选项:

参数类型必填说明
textResource | string菜单文本,支持字符串或资源引用
imageResourceStr未选中时的图标资源路径
selectImageResourceStr选中时的图标资源路径(未设置时使用 image
tabsFontColorColor | string | Resource该项未选中时的字体颜色(优先级高于全局配置)
tabsSelectFontColorColor | string | Resource该项选中时的字体颜色(优先级高于全局配置)

进阶使用

自定义单个菜单项颜色

可以为特定菜单项设置独立的字体颜色,该配置优先级高于全局配置:

@State TabsMenu: TabMenusInterfaceIRequired[]=[{ text:"首页", image:$r("app.media.index1"), selectImage:$r("app.media.index"), tabsFontColor: Color.Gray, tabsSelectFontColor: Color.Red },// ... 其他菜单项];

调整动画速度

通过 animateTime 参数控制动画执行时长,单位为毫秒:

TabsConcaveCircle({ tabsMenu:this.TabsMenu, selectIndex: $currentIndex, animateTime:800// 设置为 800 毫秒,动画更快})

自定义高度和颜色

根据应用主题调整导航栏的视觉效果:

TabsConcaveCircle({ tabsMenu:this.TabsMenu, selectIndex: $currentIndex, tabHeight:70,// 增加高度 tabsBgColor:'#f5f5f5',// 浅灰色背景 tabsSelectBgColor:'#ff6b6b',// 红色选中球 tabsFontColor:'#666666',// 灰色文字 tabsSelectFontColor:'#ffffff'// 白色选中文字})

注意事项

  1. 双向绑定selectIndex 参数必须使用 $ 符号进行双向绑定,确保索引状态实时同步
  2. 图标资源:确保所有引用的图标资源已正确添加到项目中,否则会导致显示异常
  3. 类型导入:必须导入 TabMenusInterfaceIRequired 类型,否则 TypeScript 会报类型错误
  4. 颜色格式:颜色参数支持多种格式:
    • Color 枚举:Color.BlackColor.Blue
    • 十六进制字符串:'#ffffff''#000000'
    • RGB/RGBA:'rgb(255, 255, 255)''rgba(92, 187, 183, 1)'
    • 资源引用:$r('app.color.primary')
  5. 性能优化
    • 避免频繁修改 TabsMenu 数组,建议在组件初始化时一次性配置
    • 图标资源大小应适中,避免使用过大的图片文件

总结

rc_concave_tabbar 是一款专为 HarmonyOS 设计的高质量底部导航栏组件,其独特的凹陷圆形动画效果为应用增添了现代感和交互趣味性。
无论是开发电商、社交、资讯还是工具类应用,rc_concave_tabbar 都能为你的项目提供专业级的底部导航解决方案。
开始使用 rc_concave_tabbar,让你的 HarmonyOS 应用拥有更出色的导航体验!

Read more

RISC-V开源处理器实战:从Verilog RTL设计到FPGA原型验证

RISC-V开源处理器实战:从Verilog RTL设计到FPGA原型验证

引言:开源浪潮下的RISC-V处理器设计 在芯片设计领域,RISC-V架构正以其开源免授权、模块化扩展和极简指令集三大优势重塑行业格局。与传统闭源架构不同,RISC-V允许开发者自由定制处理器核,从嵌入式微控制器到高性能服务器芯片均可覆盖。本文以Xilinx Vivado 2025工具链和蜂鸟E203处理器为核心,完整呈现从Verilog RTL设计到FPGA原型验证的全流程,为嵌入式工程师和硬件爱好者提供一套可复现的实战指南。 项目目标与技术栈 * 核心目标:基于RISC-V RV32I指令集,设计支持五级流水线的32位处理器核,实现基础算术运算、逻辑操作及访存功能,并在Xilinx Artix-7 FPGA开发板验证。 * 工具链:Xilinx Vivado 2025(逻辑设计、综合实现)、ModelSim(功能仿真)、Xilinx Artix-7 XC7A35T FPGA开发板(硬件验证)。 * 参考案例:蜂鸟E203处理器(芯来科技开源RISC-V核,已在Xilinx FPGA上完成移植验证,最高运行频率50MHz)。 一、数字系统设计流程:从需求到架构 1.

2026最强实战:用《三国演义》把 KAG(知识增强生成)跑通:LLM抽取知识图谱→Neo4j入库→召回评测→图谱问答闭环(附完整测试代码)

Git 仓库: langchain4j-spring-agent/langchain4j-spring-ai/langchain4j-spring-ai-seg-flow 相关文章:三国演义向量检索实战:RAG 混合切分 + Qdrant + BGE(Recall@5=0.8 全流程) 相关文章:RAG 增强与向量基础篇:继续搭建“模型 + 向量 + 会话 + 工具”协同底座 相关文章:零成本打造本地多引擎大模型与向量服务:Xinference 全栈部署 + 性能调优实战 这篇文章不是“概念科普”,而是一套可以直接跑起来的 KAG(Knowledge-Augmented Generation)工程闭环:用大模型从小说文本中抽取 知识图谱 JSON一键导入 Neo4j用评测集做 Recall@5 召回评测(LLM 参与生成 Cypher + 判定命中)最后把同一套链路用于 KAG

跨越天堑:机器人脑部药物递送三大技术路径的可转化性分析研究

跨越天堑:机器人脑部药物递送三大技术路径的可转化性分析研究

摘要 血脑屏障是中枢神经系统药物研发最核心的瓶颈。尽管相关基础研究层出不穷,但“论文成果显著、临床转化缓慢”的悖论依然存在。本文认为,突破这一瓶颈的关键在于,将研究重心从“单点机制”转向构建一条“可验证、可复现、可监管”的全链条递送系统。为此,本文提出了一个衡量脑部递送技术可转化性的四维评价标尺:剂量可定义、闭环可监测、质控可标准化、可回退。基于此标尺,本文深度剖析了当前最具潜力的三条技术路径: (1)FUS/低强度聚焦超声联合微泡; (2)血管内可导航载体/机器人; (3)针对胶质母细胞瘤(GBM)的多功能纳米系统。 通过精读关键临床试验、前沿工程研究和系统综述,我们抽离出可直接写入临床或产品方案的核心变量,识别了各自面临的最大转化风险,并提出了差异化的“押注”策略。分析表明,FUS+MB路径因其在“工程控制”上的成熟度,在近期(12-24个月)的转化确定性最高;血管内机器人代表了精准制导的未来趋势,

LazyLLM 多 Agent 应用全流程实践:从源码部署到可视化 Web 调试的低代码方案

LazyLLM 多 Agent 应用全流程实践:从源码部署到可视化 Web 调试的低代码方案

LazyLLM 多 Agent 应用全流程实践:从源码部署到可视化 Web 调试的低代码方案 前言:为什么选择 LazyLLM 构建多 Agent 大模型应用? LazyLLM 作为低代码构建多 Agent 大模型应用的开发工具,可大幅降低大模型应用的开发与部署门槛。本文聚焦其在豆包模型的落地实践,将从源码部署豆包文本模型的完整配置步骤入手,延伸至官方 WebModule 启动可视化 Web 界面的实操流程,并配套精准性、简洁度等多维度的部署测试说明,为开发者提供可直接对照的实操指南,助力高效完成豆包模型在 LazyLLM 框架下的部署与验证。 LazyLLM 整体架构解析:三层联动的多 Agent 运行体系 LazyLLM 的架构分为三层级递进结构,各层级分工明确且联动协同,实现从应用开发到落地执行的全流程覆盖:上层(LazyPlatform AI 大模型应用开发平台):核心含应用编排平台以可视化编排、发布、回流、调优的闭环完成应用构建迭代与平台管理模块通过租户、权限管理支撑多用户运维,是开发者的高效开发管理入口中层(