【鸿蒙心迹】HarmonyOS学习笔记09:ArkUI声明式页面

发布时间:2026/10/22 7:22:49

【鸿蒙心迹】HarmonyOS学习笔记09:ArkUI声明式页面 个人主页杨利杰YJlio❄️个人专栏《Windows 疑难杂症与工单复盘案例库》 《Sysinternals实战教程》《WINDOWS教程》 《Windows PowerShell 实战》 《IOS插件分析测试》《超简单用Python让Excel飞起来》让复杂的事情更简单让重复的工作自动化文章目录前言先搭一个静态页面一、先读模板中的入口与组件声明二、从外向内读组件树三、用三段静态文字构成最小示例四、分别看间距、内边距与对齐五、静态修改后确认完整运行路径六、布局不对时先查外层容器七、在不同窗口里观察换行与留白八、静态页面与状态更新分开学习学习总结参考资料前言先搭一个静态页面大家好我是杨利杰 YJlio。前几篇准备了数据与显示分支。这篇开始阅读 ArkUI 页面结构先确认入口再看外层容器最后读里面的文字和属性。这是 HarmonyOS 7.0 学习笔记第 09 篇。我先用三段静态文字练习声明式结构暂不加入按钮、输入和动态状态让页面变化更容易观察。组件文件存在不代表它已经被当前工程加载为首屏。环境项实际记录DevEco Studio待填写SDK/API待填写实际入口页面路径待填写运行设备与系统待填写窗口尺寸待填写本文代码为简化学习示例图片为结构与观察方法示意未进行本机编译和设备运行不以配图代替真实页面截图。一、先读模板中的入口与组件声明我会先打开当前模板已使用的页面查看组件名、入口标记和build()再判断哪里需要修改。华为ArkTS 声明式组成说明介绍了入口组件、自定义组件、UI 描述与属性方法。这里采用常见的Entry、Component结构作为学习示例。位置本篇阅读重点Entry页面入口标记Component自定义组件声明struct Index本例组件名build()UI 结构描述模板若采用不同组件声明或状态管理版本应先保留其已有结构并查对应文档不能把不同版本的装饰器随意混用。二、从外向内读组件树本例只有一个外层Column和三个Text。先读这种浅结构比一开始加入多层布局更容易定位问题。Index └─ Column ├─ Text标题 ├─ Text说明 └─ Text当前练习这是结构阅读图不是设备上的布局坐标。容器负责组织子组件文字组件负责表达内容。布局不符合预期时我会先回到最外层再逐层检查。组件只有少量内容时先保持在同一文件即可重复使用或职责独立以后再提取自定义组件。三、用三段静态文字构成最小示例我先明确页面上要显示什么再为文字添加少量属性。EntryComponentstruct Index{build(){Column({space:12}){Text(IT工单学习项目).fontSize(24).fontWeight(FontWeight.Bold)Text(从一个可运行的小页面开始).fontSize(16)Text(当前练习认识 ArkUI 声明式结构).fontSize(14)}.width(100%).height(100%).padding(24).justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Start)}}这是一份待本机确认的示例文案中的“可运行”是练习目标不是实测结论。若模板的组件名、导入或入口配置不同先保留模板不整段覆盖入口文件。本篇没有事件回调也没有声明响应式状态标题、说明和当前练习文字均为静态字符串。四、分别看间距、内边距与对齐我会把容器属性拆开阅读避免只凭链式调用顺序猜测最终位置。本例属性阅读方向space: 12Column子项间距padding(24)容器内边距width/height(100%)相对父约束设置尺寸justifyContent(FlexAlign.Center)主轴对齐alignItems(HorizontalAlign.Start)交叉轴对齐Column以纵向组织子项本例主轴居中、交叉轴起始。Start应按布局方向理解不能未经确认总写成“屏幕最左侧”。华为Column 接口文档说明了容器间距和对齐属性。实际占用区域还受到父容器、窗口与文字尺寸影响不能从100%就推断所有设备上完全相同的画面。间距、内边距和对齐分别影响不同关系排查时一次只改一项。五、静态修改后确认完整运行路径改变代码中的文字后我会分别确认保存、构建、安装与启动避免把旧应用画面误认为新修改无效。记录当前入口页面的实际路径和组件名。先只修改标题保存文件。按当前工程构建并记录结果。安装到目标设备确认启动的是该工程。对照设备画面确认出现新的标题。IDE 预览可以帮助观察结构但不等于完整应用已经安装并运行。本篇没有替读者执行这条路径实际结果需要据实补入。六、布局不对时先查外层容器当文字位置或留白不符合预期我不会同时删除多条属性而是按外层到内层排查。排查层次观察项外层容器宽高、父约束与主轴/交叉轴对齐内容区域内边距、子项间距子组件文字内容、字号、换行等属性先改变一个属性保存前后代码和实际画面再决定是否保留。链式属性涉及布局与绘制语义遇到顺序差异时应查当前接口说明用最小示例观察不能把它们当成无顺序的样式集合。页面未显示则先检查入口加载路径、构建输出和设备日志。布局排查的前提是实际运行到了目标页面。七、在不同窗口里观察换行与留白如果设备或模拟器支持调整窗口我会在不同可用宽度下观察文本和内容区域。观察项本机实际记录标题是否换行待填写三段文字是否全部可见待填写内边距与留白表现待填写设备、系统与窗口尺寸待填写不要把某次窗口下的效果推广到所有设备也不要从示意图反推像素坐标。字体、窗口、方向和父约束都需要结合实际环境说明。八、静态页面与状态更新分开学习本篇先把结构与静态文字读清楚下一步再加入事件和状态。静态字符串修改后需要通过当前工具链认可的构建和运行流程观察变化。运行时交互的数据则要接入对应状态机制框架才能按其观察规则更新 UI。普通变量赋值不会自动保证界面刷新组件结构与状态观察是不同知识点。完成本机操作后我会保存实际入口路径、构建结果和页面截图。仅有代码与信息图不能写成“已在设备验证”。学习总结这篇我从入口组件开始读外层容器和三个文字组件再把间距、内边距与对齐分开观察。页面越小修改与结果越容易对应。发布前补齐实际环境和运行证据。下一篇加入Text、Button与TextInput开始练习输入和事件反馈。参考资料华为开发者文档ArkTS 声明式开发的基本组成华为开发者文档Column 容器华为开发者联盟ArkTS 语言概览声明本文为学习示例与练习方法配图为结构示意语法、布局、构建和运行结果以当前模板、SDK、实际设备与官方文档为准。返回顶部
延伸阅读

更多相关文章

2026/10/22 7:22:49

Windows 11 常见问题解答(FAQ)

当年微软推出 Windows 10 时说过,这会是「最后一个 Windows 版本」,往后系统都走滚动更新。结果现在打脸了——新硬件一上来,光靠补丁显然不够,于是 Windows 11 就这么来了,带着它自己的版本号接棒。 本文写作的时候,微软还没放出官方的 Windows 11 预览版下载页。不过,…

2026/10/22 7:22:49

PDF涂黑后还能复制?用ComPDF删除敏感文字并核验

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/22 7:22:49

19|Middleware 实战:在决策循环中加入控制能力 - eino教程

19|Middleware 实战:在决策循环中加入控制能力 《Eino 实战:用 Go 构建 AI 应用与智能体》 第 19 篇 关键词:ChatModelAgentMiddleware、生命周期钩子、WrapInvokableToolCall、审计、校验 前置条件:已完成 16&#xf…

2026/10/22 8:32:58

veg200数据集科学划分:面向农业AI落地的鲁棒性分层策略

1. 项目概述:为什么 veg200 数据集划分不是“复制粘贴”就能搞定的事 你拿到 veg200 蔬菜分类数据集,第一反应是不是直接 train_test_split 一跑,再手动挪几个文件夹完事?我试过——三次模型在验证集上准确率波动超过12%&#x…

2026/10/22 8:32:58

Docker 搭建 Nexus3 并配置 Docker 私有仓库实战指南

1. 为什么要在内网自建 Docker 镜像仓库 很多团队一开始都是直接用公共镜像仓库拉取基础镜像,本地构建完业务镜像后,要么推到公共仓库,要么干脆只在本地留着。等到服务器规模一上来,问题就全冒出来了:构建机拉取镜像慢…

2026/10/22 8:32:58

LVM卷组与条带化:提升磁盘IO性能的底层实践

1. 项目概述:从磁盘管理的“堵车现场”到“高速公路”的底层逻辑 “卷组、条带化”这六个字,乍看像存储系统里的黑话,但其实它解决的是每个用过电脑的人都会遭遇的真实困境——硬盘明明还有几百GB空闲,复制大文件却慢得像蜗牛&…

2026/10/22 8:32:58

纯Java手写关键词文本排序检索系统:从分词到TF-IDF排序的轻量级实现

1. 从零搭建关键词文本排序检索系统,我踩过的坑和最终方案 前阵子接了个需求,要在一个内部文档管理模块里做一套基于关键词的文本排序检索。说白了就是用户输入几个词,系统从一堆文档里把最相关的排前面返回。听起来像是“搜索”两个字就能打…

2026/10/22 8:32:58

Docker 搭建 Nexus3 私有仓库:从部署到权限管理实战

1. 为什么本地环境值得单独跑一个制品仓库很多团队一开始都是直接用公共镜像仓库,拉个镜像、推个包都挺顺手,直到某天网络抖动、某个基础镜像突然被下架、或者 CI 流水线因为外部仓库限流卡了半小时,才意识到"依赖外部服务"这件事在…

2026/10/22 8:27:58

Feign连接超时真相:从TCP三次握手到Linux内核参数

1. 这不是超时,是连接被“卡住”了——一次Feign调用故障的真相还原刚接手一个运行三年的订单履约系统,某天凌晨两点收到告警:核心支付回调链路中,Feign调用下游风控服务的平均耗时从80ms骤升至3200ms,失败率突破45%。…

2026/10/21 4:53:08

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/22 0:01:49

电商智能运营体系从0到1:架构设计、落地步骤与避坑指南

前两年我们团队接了一个电商平台的运营中台项目,目标很直白:把过去靠运营拍脑袋做的选品、定价、发券、推活动这些事,逐步用数据算法和自动化流程代替。项目名字内部就叫“电商智能运营体系”。最近有不少朋友问我当时是怎么设计的、踩过哪些…

2026/10/22 0:01:49

若依框架AI代码生成不稳定?用Agent Skill三层结构+五步法搞定

最近一段时间,我一直想把后台管理系统里那些机械重复的增删改查代码交给AI去写。框架用的是若依,按理说这类业务代码模式非常固定,应该是AI最擅长的事情。可真试下来却不是那么回事——你让AI生成一个用户管理模块,它给出的Contro…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑