HarmonyOS应用《玄象》开发实战:HomePage 顶部标题栏的 Row + Blank 三段式布局

发布时间:2026/7/27 0:45:06

HarmonyOS应用《玄象》开发实战:HomePage 顶部标题栏的 Row + Blank 三段式布局
阅读时长约 19 分钟 | 难度★★★★☆ | 篇章第 3 篇 · 首页与功能导航对应源码entry/src/main/ets/pages/HomePage.ets前言首页顶部标题栏是用户进入应用后最先看到的功能性区域。玄象项目首页采用RowBlank三段式布局左侧☰菜单按钮、中间玄象标题与今日干支、右侧通知按钮。这种布局结构在 ArkUI 中极为常见掌握Row横向布局、Blank弹性占位、Column嵌套居中三大技巧您就能为任何 HarmonyOS 应用打造标准化的顶部标题栏。提示三段式布局是移动端顶部导航的事实标准——左侧返回/菜单、中间标题、右侧操作按钮。玄象项目用最简代码实现了这一标准布局。一、HomePage 完整源码概览1.1 顶部标题栏源码build(){Column(){// 顶部标题栏Row(){Text(☰).fontSize(24).fontColor(Colors.PRIMARY_GOLD)Blank()Column({space:4}){Text(玄象).fontSize(28).fontWeight(FontWeight.Bold).fontColor(Colors.PRIMARY_GOLD)Text(this.todayGanZhi).fontSize(14).fontColor(Colors.TEXT_SECONDARY)}Blank()Text().fontSize(24).fontColor(Colors.PRIMARY_GOLD)}.width(100%).padding({left:16,right:16,top:50,bottom:12})}}1.2 三段式布局结构┌──────────────────────────────────────────────┐ │ ☰ 玄象 │ │ 甲辰年│肖龙 │ └──────────────────────────────────────────────┘ ↑ ↑ ↑ 左侧菜单 中间标题 右侧通知段位组件内容左侧Text“☰” 菜单图标中间Column“玄象” 今日干支右侧Text“” 通知图标二、Row 横向布局容器2.1 Row 基本用法Row(){Text(左)Text(中)Text(右)}.width(100%)Row容器让子元素按从左到右的顺序横向排列。2.2 Row 关键属性属性类型含义玄象项目值widthLength容器宽度100%heightLength容器高度默认包裹内容paddingPadding内边距{ left: 16, right: 16, top: 50, bottom: 12 }justifyContentFlexAlign主轴对齐-alignItemsVerticalAlign交叉轴对齐-2.3 padding 内边距详解玄象项目顶部标题栏的padding.padding({left:16,right:16,top:50,bottom:12})方向值含义left16左侧 16vp 内边距right16右侧 16vp 内边距top50顶部 50vp 内边距bottom12底部 12vp 内边距提示玄象项目top: 50是为了避开状态栏手机顶部约 24-50vp 是状态栏区域。在生产环境应通过window.getWindowAvoidArea动态获取安全区域。三、Blank 弹性占位3.1 Blank 的作用Blank是 ArkUI 的弹性占位组件在Row或Column中填充剩余空间。Row(){Text(左)Blank()// ← 弹性占位Text(右)}Blank让左贴左、右贴右中间被Blank撑开。3.2 玄象项目双 Blank 布局Row(){Text(☰)// 左侧Blank()// 弹性占位 1Column(){...}// 中间Blank()// 弹性占位 2Text()// 右侧}两个Blank平均分配剩余空间让中间Column居中。3.3 Blank vs justifyContent实现三段均分的两种方式方式 1Blank玄象项目方案Row(){Text(左)Blank()Text(中)Blank()Text(右)}方式 2justifyContentRow(){Text(左)Text(中)Text(右)}.justifyContent(FlexAlign.SpaceEvenly)玄象项目选择Blank的原因中间Column内容垂直需独立居中。Blank方案对中间内容的水平居中更精确。提示若中间内容是简单Text两种方案效果一致。若中间是Column多行内容Blank方案更可控。四、Column 嵌套居中4.1 中间 Column 结构Column({space:4}){Text(玄象).fontSize(28).fontWeight(FontWeight.Bold).fontColor(Colors.PRIMARY_GOLD)Text(this.todayGanZhi).fontSize(14).fontColor(Colors.TEXT_SECONDARY)}4.2 Column 关键参数参数类型含义玄象项目值spaceLength子元素间距4Column({ space: 4 })让主标题玄象与副标题甲辰年│肖龙间距为 4vp。4.3 嵌套 Column 的设计意图Row ├── Text ☰ ├── Blank ├── Column ← 嵌套 Column │ ├── Text 玄象 │ └── Text 甲辰年│肖龙 ├── Blank └── Text 玄象项目使用嵌套Column的设计意图主标题与副标题垂直堆叠。副标题字号更小颜色更淡形成视觉层次。整个Column在Row中水平居中。五、状态变量 todayGanZhi5.1 状态定义StatetodayGanZhi:string;玄象项目用todayGanZhi存储今日干支字符串。5.2 aboutToAppear 中初始化aboutToAppear():void{this.todayGanZhiLunarCalendar.getTodayGanZhi();// ...}玄象项目在aboutToAppear中调用LunarCalendar.getTodayGanZhi()初始化今日干支。5.3 数据流aboutToAppear ↓ LunarCalendar.getTodayGanZhi() ↓ this.todayGanZhi 甲辰年│肖龙 ↓ State 变化触发 build 重新渲染 ↓ Text(this.todayGanZhi) 显示 甲辰年│肖龙提示玄象项目首页标题栏的今日干支是首页与历法模块的视觉纽带。用户看到甲辰年会自然联想到干支推算功能。六、emoji 图标的兼容性6.1 玄象项目使用的 emojiText(☰)// 菜单八卦中的乾卦符号Text()// 通知玄象项目顶部标题栏使用两个 emoji“☰”八卦中的乾卦符号象征天“”通知铃铛6.2 emoji 字体兼容性emoji 的显示依赖系统字体平台emoji 字体HarmonyOSNoto Color EmojiiOSApple Color EmojiAndroidNoto Color Emoji6.3 emoji 渲染优化emoji 是彩色字体渲染开销高于普通文本。玄象项目仅在标题栏使用 emoji数量少性能无忧。提示玄象项目首页九宫格的星宿乐律图标位置为空字符串可能是设计稿中尚未确定的图标占位。七、字体属性详解7.1 主标题字体属性Text(玄象).fontSize(28).fontWeight(FontWeight.Bold).fontColor(Colors.PRIMARY_GOLD)属性值含义fontSize28字号 28vpfontWeightFontWeight.Bold加粗fontColorColors.PRIMARY_GOLD金色7.2 副标题字体属性Text(this.todayGanZhi).fontSize(14).fontColor(Colors.TEXT_SECONDARY)属性值含义fontSize14字号 14vpfontColorColors.TEXT_SECONDARY次要文字色7.3 视觉层次玄象项目顶部标题栏的视觉层次层级元素字号颜色主“玄象”28金色次“甲辰年│肖龙”14灰色辅“☰” / “”24金色八、顶部标题栏的扩展方向8.1 添加搜索框Row(){Text(☰)TextInput({placeholder:搜索星宿/卦象}).layoutWeight(1).backgroundColor(Colors.BG_CARD).borderRadius(20)Text()}8.2 添加返回按钮Row(){Text(←).onClick(()router.back())Blank()Text(星宿详情)Blank()Text(⋯)}8.3 添加下拉菜单Row(){Text(☰).onClick(()this.showSideMenu())Blank()Text(玄象)Blank()Text().onClick(()this.showNotifications())}九、玄象项目标题栏设计原则9.1 简约原则玄象项目顶部标题栏仅 3 个元素菜单 标题 通知符合少即是多的设计哲学。9.2 对称原则[☰] [Blank] [Column] [Blank] [] 左 占位 中 占位 右左右两侧元素等宽24vp 字号视觉对称。9.3 一致原则玄象项目所有页面的标题栏遵循统一规范高度 50vp顶部安全距离字号 28vp主标题颜色Colors.PRIMARY_GOLD总结本篇以玄象项目首页顶部标题栏为蓝本深入剖析了 ArkUIRowBlank三段式布局从Row横向布局、Blank弹性占位、Column嵌套居中到padding内边距、状态变量绑定、emoji 兼容性、字体属性详解。掌握这套三段式布局方法论您就能为任何 HarmonyOS 应用打造标准化的顶部标题栏。下一篇《22 · 今日天地卡片border shadow borderRadius 的金边卡片范式》将带您深入玄象项目首页今日天地卡片的实现细节。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源HarmonyOS 官方文档Row 组件HarmonyOS 官方文档Blank 组件HarmonyOS 官方文档Column 组件HarmonyOS 官方文档Padding 类型开源鸿蒙跨平台社区https://openharmonycrossplatform.csdn.net

相关新闻

5大核心功能解析:XCOM 2 Alternative Mod Launcher终极模组管理指南

5大核心功能解析:XCOM 2 Alternative Mod Launcher终极模组管理指南

2026/7/27 0:45:06

5大核心功能解析:XCOM 2 Alternative Mod Launcher终极模组管理指南 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com…

深度解码开源媒体播放器:5大模块架构揭秘与性能突破实战

深度解码开源媒体播放器:5大模块架构揭秘与性能突破实战

2026/7/27 0:45:06

深度解码开源媒体播放器:5大模块架构揭秘与性能突破实战 【免费下载链接】mpc-hc MPC-HCs main repository. For support use our Trac: https://trac.mpc-hc.org/ 项目地址: https://gitcode.com/gh_mirrors/mpc/mpc-hc MPC-HC(Media Player Cla…

YOLOv10小目标车辆检测优化与实践

YOLOv10小目标车辆检测优化与实践

2026/7/27 0:45:06

1. 项目背景与核心价值在智能交通和自动驾驶领域,小目标车辆检测一直是个棘手的技术难题。传统检测方法在应对远距离车辆、遮挡车辆或恶劣光照条件下的车辆时,往往表现不佳。这个项目采用YOLOv10这一最新目标检测框架,专门针对小目标车辆检测…

教育信息化2.0时代的人机协同教学实践与挑战

教育信息化2.0时代的人机协同教学实践与挑战

2026/7/27 1:45:31

1. 人机协同教学研究的现状与挑战在教育信息化2.0时代,人工智能技术正以前所未有的速度渗透到教学场景中。作为一名深耕教育技术领域多年的从业者,我见证了从最初的计算机辅助教学到如今智能教育生态的演变过程。当前,人机协同教学已经从概念…

AIGC检测与降AI工具:学术写作必备指南

AIGC检测与降AI工具:学术写作必备指南

2026/7/27 1:45:31

1. 学术写作新挑战:AIGC检测与降AI工具的必要性最近两年,学术圈最热门的话题莫过于AI生成内容(AIGC)的检测与规避。作为一名长期关注学术写作工具的研究者,我亲眼见证了从最初ChatGPT引发的写作革命,到现在…

TMS320VC5409A DSP外部接口XIO2与DMA控制器配置与优化实战

TMS320VC5409A DSP外部接口XIO2与DMA控制器配置与优化实战

2026/7/27 1:45:31

1. 项目概述与核心价值如果你正在用TMS320VC5409A这颗经典的定点DSP做项目,尤其是在处理音频流、通信数据或者需要频繁与外部存储器(比如SDRAM、Flash)打交道的场景,那你一定绕不开两个核心模块:增强型外部并行接口&am…

创业加速器抉择指南:YC、奇绩创坛与本土孵化器的数据化对比

创业加速器抉择指南:YC、奇绩创坛与本土孵化器的数据化对比

2026/7/27 1:45:31

创业加速器抉择指南:YC、奇绩创坛与本土孵化器的数据化对比 一、"要不要进加速器"——创业者最该先算清的一笔账 技术创业者面对加速器时,最常见的误区是把"能不能进"当作核心问题。更重要的前置问题是"进去之后能得到什么&a…

嵌入式网络开发:Tiva™ TM4C129x以太网MAC的MMC中断与时间戳配置详解

嵌入式网络开发:Tiva™ TM4C129x以太网MAC的MMC中断与时间戳配置详解

2026/7/27 1:45:31

1. 项目概述与核心价值在嵌入式网络开发,尤其是工业控制、汽车电子或高精度测量领域,我们常常需要处理两个看似基础但至关重要的任务:一是如何高效、精准地监控网络通信的实时状态,二是如何让分布在不同设备上的时钟保持高度同步。…

本科生AI降重工具实用指南与学术写作技巧

本科生AI降重工具实用指南与学术写作技巧

2026/7/27 1:25:13

1. 项目概述作为一名在高校教学一线工作多年的教育技术研究者,我深刻理解本科生在学术写作中面临的挑战。近年来,随着AI写作工具的普及,如何合理使用这些工具同时避免学术不端风险,成为困扰许多学生的现实问题。经过长达半年的系统…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/26 0:04:02

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/26 0:04:02

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/26 0:04:02

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

多模态 AI 前端工程——图像上传、压缩与流式返回的协同设计

多模态 AI 前端工程——图像上传、压缩与流式返回的协同设计

2026/7/27 0:05:04

多模态 AI 前端工程——图像上传、压缩与流式返回的协同设计 一、多模态对话的「首字节延迟」:上传与流式的协同鸿沟 多模态 AI 应用的前端体验,往往卡在"首字节延迟"上。用户上传一张图片,提一个问题,然后盯着空白对…

【微科普】网红水晶香薰真相拆解:透明固体香薰并非香精结晶,一文理清各类无火香薰释香机理

【微科普】网红水晶香薰真相拆解:透明固体香薰并非香精结晶,一文理清各类无火香薰释香机理

2026/7/27 0:05:04

文章目录第一章 大众普遍存在的认知误区:水晶香薰是芳香烃结晶产物1.1 聚丙烯酸钠凝胶水晶珠体系(市面占比90%家用水晶香薰)1.2 无机盐硬质结晶载体:泻盐与钾明矾香薰原石1.3 植物多糖与PVA整块果冻型水晶香膏1.4 唯一特例&#x…

优启通3.7修改版:深度优化的PE系统维护工具

优启通3.7修改版:深度优化的PE系统维护工具

2026/7/27 0:05:04

1. 项目概述今天要跟大家分享的是一个经过深度优化的PE工具——优启通3.7(2025修改版)。这个版本是在原版基础上进行了大量功能增强和兼容性改进的12月最新版本,特别适合系统维护人员和电脑爱好者使用。作为一个长期从事IT运维的老兵&#xf…