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

本地跑不动Whisper?large-v3云端GPU 1小时1块轻松解决

本地跑不动Whisper?large-v3云端GPU 1小时1块轻松解决 你是不是也遇到过这种情况:研究生做毕业设计,手头有一大堆方言录音要转成文字,导师催得紧,结果发现实验室的GPU排队长达三天起步,而自己的笔记本显存只有4GB,连Whisper large-v3模型都加载不进去?安装依赖报错、CUDA版本不匹配、PyTorch编译失败……每一步都在劝退。别急,我懂你的痛。 其实,你完全不需要在本地“硬扛”。OpenAI开源的Whisper模型虽然强大——支持99种语言、68万小时多语言数据训练、中英文识别准确率接近人类水平,但它的large-v3版本参数量高达1.5B,对计算资源要求极高。本地跑不动不是你技术不行,而是设备真的不够用。 好消息是,现在有更聪明的办法:直接上云端GPU环境,一键部署Whisper large-v3镜像,按小时计费,实测每小时不到一块钱,还能24小时不间断处理长音频。特别适合像你这样急需处理大量方言语音数据、又不想被排队和配置问题耽误进度的研究者。 这篇文章就是为你量身定制的实战指南。我会带你从零开始,一步步在ZEEKLOG星图平台使用预置的Wh

Paperzz 期刊论文智能写作:让学术投稿从 “难产” 到 “高产” 的破局之道

Paperzz 期刊论文智能写作:让学术投稿从 “难产” 到 “高产” 的破局之道

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿paperzz - 期刊论文https://www.paperzz.cc/journalArticle 在学术研究的金字塔中,期刊论文是衡量研究者能力的核心标尺,也是学术成果走向同行认可的必经之路。然而,对于大多数科研人而言,期刊论文写作与投稿始终是一道难以逾越的鸿沟:从选题构思到框架搭建,从文献梳理到内容填充,从格式规范到语言润色,每一个环节都充满了挑战。传统的写作模式不仅效率低下,还容易陷入 “反复修改、屡屡被拒” 的循环,让不少研究者在学术道路上步履维艰。 Paperzz 的期刊论文智能写作功能,正是为破解这一困境而生。它以 AI 技术为核心,重构了期刊论文的创作全流程,将选题、框架、内容、格式、润色等环节深度整合,让学术写作从 “个体攻坚” 升级为 “智能协同”。无论是初出茅庐的青年学者,还是经验丰富的资深研究者,都能借助这一工具,大幅提升写作效率与投稿成功率,让学术成果更快、更稳地走向学术舞台。 一、期刊论文写作的

2025终极指南:whisper.cpp跨平台语音识别部署全流程

2025终极指南:whisper.cpp跨平台语音识别部署全流程 【免费下载链接】whisper.cppOpenAI 的 Whisper 模型在 C/C++ 中的移植版本。 项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cpp 还在为语音转文字服务的网络延迟和高成本烦恼?whisper.cpp作为开源语音识别解决方案,提供了本地化部署的完美选择。本文将带你深入了解如何在不同平台上快速部署和使用这个强大的离线语音识别工具。 通过本文,你将掌握: * 多平台环境配置的一键安装方法 * 模型下载与优化的性能调优技巧 * 常见部署问题的快速解决方案 * 监控与维护的最佳实践 平台选择:找到最适合你的方案 平台类型安装难度推理速度内存占用适用场景Windows桌面⭐⭐1.2x1.1GB个人使用Linux服务器⭐⭐⭐1.5x0.9GB企业部署macOS开发⭐2.0x0.7GB移动应用Android设备⭐⭐⭐⭐0.8x0.5GB边缘计算 环境搭建:快速启动的完整步骤 基础环境准备

别瞎改了!直接抄DeepSeek这5大降AIGC指令,搭配3款超有效工具,亲测98%暴降至5%!

别瞎改了!直接抄DeepSeek这5大降AIGC指令,搭配3款超有效工具,亲测98%暴降至5%!

毕业季最让人崩溃的瞬间,莫过于信心满满地把DeepSeek辅助写的论文传上去,结果查重报告一片红,AIGC检测率飙到90%以上。 别慌!作为过来人,学姐告诉大家:AI生成的痕迹其实是有解决办法的。 只要你懂得如何指挥DeepSeek自己净化自己,或者用对专业的辅助工具,把AI率降到5%以下真的不是梦。 今天这篇文章,直接上干货。前半部分是5条经过实测的DeepSeek专属降AI指令,后半部分推荐3款确实能把AI率降下来的工具。 建议先收藏,改论文时直接复制使用。 一、【硬核实操】DeepSeek五大深度降AI指令 这部分是核心干货。为了让DeepSeek更好地执行,我将所有复杂的降AI技巧整合成了一段完整、连续的指令。你只需要把论文分段,然后配合下面的指令发送即可,记得要开深度思考和联网搜索哦~ 💡 指令1:针对假大空特征 【原理解析】 AI生成内容最容易被判定为机器痕迹的原因,是大量使用高频、通俗的万能词。根据同义词替换策略,我们需要强制模型调用学术语料库。 📋 复制这段Prompt发送给DeepSeek: 请针对这段文字进行深度学术化重写,重点在于提升词汇的