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

鸿蒙开发中的Tabs组件详解

目录

前言

1.基本布局

1.顶部导航

2.底部导航

3.侧边导航

2.Tabs的常用属性

1.scrollable

2.barModel

3.自定义导航栏

1.自定义导航栏样式

2.修改标签栏的下标


前言

        当页面信息较多时,为了让用户能够聚焦于当前显示的内容,需要对页面内容进行分类,提高页面空间利用率。Tabs组件可以在一个页面内快速实现视图内容的切换,一方面提升查找信息的效率,另一方面精简用户单次获取到的信息量。

        Tabs是鸿蒙(HarmonyOS)开发中常用的导航组件,用于在不同内容区域之间快速切换。通过Tabs,开发者可以轻松实现分页布局,提升应用的用户体验。以下将详细介绍Tabs的使用方法、常见场景及注意事项。

1.基本布局

1.顶部导航

        Tabs组件的页面组成包含两个部分,分别是TabContent和TabBar。TabContent是内容页,TabBar是导航页签栏,页面结构如下图所示,根据不同的导航类型,布局会有区别,可以分为底部导航、顶部导航、侧边导航,其导航栏分别位于底部、顶部和侧边。

        三种导航模式样式分别下图所示:

图1.Tabs的三种导航模式

        这里要注意的是:

       1.TabContent组件不支持设置通用宽度属性,其宽度默认撑满Tabs父组件。

        2.TabContent组件不支持设置通用高度属性,其高度由Tabs父组件高度与TabBar组件高度决定。

        Tabs使用花括号包裹TabContent,如图2,其中TabContent显示相应的内容页。

        我们通过简单Tabs嵌套几个TabContent便可以实现一个简单的Tabs。

        核心代码如下:

@Entry
@Component
struct Index {build() {Tabs() {TabContent() {Text('首页的内容').fontSize(30)}.tabBar('首页')TabContent() {Text('推荐的内容').fontSize(30)}.tabBar('推荐')TabContent() {Text('发现的内容').fontSize(30)}.tabBar('发现')TabContent() {Text('我的内容').fontSize(30)}.tabBar("我的")}}
}

        运行之后,效果如如下:

图2.最简单的Tabs用法

        设置多个内容时,需在Tabs内按照顺序放置。

        当内容分类较多,用户对不同内容的浏览概率相差不大,需要经常快速切换时,一般采用顶部导航模式进行设计,作为对底部导航内容的进一步划分,常见一些资讯类应用对内容的分类为关注、视频、数码,或者主题应用中对主题进行进一步划分为图片、视频、字体等。

2.底部导航

        底部导航是应用中最常见的一种导航方式。底部导航位于应用一级

http://www.xdnf.cn/news/17529.html

相关文章:

  • 使用 Visual Studio 2022 编译 PortAudio 项目
  • docker基础前置
  • Microsoft Office Visio(流程图)学习笔记
  • 【华为仓颉编程语言】标识符
  • 栈和队列应用实操
  • LabVIEW核物理虚拟仪器教学
  • 【26】C#实战篇—— 多个线程函数对同一个 Excel 文件进行写操作引起的文件冲突问题,解决方法
  • Playwright C# 自动登录并上传 Excel 文件 的可运行示例
  • 十九、MySQL-DQL-基本查询
  • Python day39
  • Linux系统之lua 详解
  • 一周学会Matplotlib3 Python 数据可视化-标注 (Annotations)
  • 【线性代数】6二次型
  • Windows设置英文路径显示为中文名称的文件夹
  • Android 设置/修改系统NTP服务地址
  • Golang的本地缓存freecache
  • Nginx 功能扩展与二次开发实践
  • HUAWEI交换机命令基础
  • C++面向对象及其特性
  • AI 边缘计算网关:开启智能新时代的钥匙
  • Claude Code 的核心能力与架构解析
  • 【软考中级网络工程师】知识点之防火墙
  • CosyVoice 语音合成模型性能优化实战:从 CPU 瓶颈到 GPU 加速的完整解决方案
  • 北京JAVA基础面试30天打卡05
  • springBoot集成easyExcel 实现文件上传
  • 【Spring Boot启动流程底层源码详解】
  • 【从汇编语言到C语言编辑器入门笔记7】 - C语言编译器执行过程
  • Web3: 用ERC-1400革新公司股权激励
  • 【LeetCode 热题 100】(六)矩阵
  • 扩散LLM推理新范式:打破生成长度限制,实现动态自适应调节