HarmonyOS 应用开发《掌上英语》第45篇:首页布局重构——从课程列表到英语学习首页
首页布局重构——从课程列表到英语学习首页一、首页的定位与模块概览首页是用户打开应用后看到的第一个界面。在英语学习 App 中首页需要同时满足快速开始学习和了解学习进展两个核心诉求。本项目的首页MainPage.ets位于features/homePage/src/main/ets/pages/MainPage.ets由 6 个 Builder 模块组成MainPage (Column) ├── topBarBuilder() → 顶部搜索栏 ├── todayStudyBuilder() → 今日学习卡 ├── swiperBuilder() → 轮播图 ├── functionBarBuilder() → 5 宫格功能入口 ├── practiceModeBuilder() → 2x2 练习模式 └── subjectPracticeBuilder() → 学习进度区二、模块详细分析2.1 顶部搜索栏topBarBuilderBuildertopBarBuilder(){Row(){// Logo 或标题Text(英语学习).fontSize(22).fontWeight(FontWeight.Bold);Blank();// 搜索图标Image($r(app.media.ic_search)).width(24).height(24);// 消息图标Image($r(app.media.ic_mic)).width(24).height(24);}.width(100%).padding({top:12,bottom:8});}搜索栏布局为 “标题 Blank 图标” 的左中右结构。Blank()组件自动填充中间空白区域将图标推到右侧。2.2 今日学习卡todayStudyBuilder今日学习卡展示用户当日的学习进展是本页最核心的信息模块BuildertodayStudyBuilder(){Column(){Row(){Column(){Text(今日学习).fontSize(16).fontWeight(FontWeight.Bold);Text(坚持学习成为更好的自己).fontSize(12).fontColor(Color.Gray);}.alignItems(HorizontalAlign.Start);Blank();// 学习进度圆环Progress({value:65,total:100,type:ProgressType.Ring}).width(50).height(50).color(#165DFF).style({strokeWidth:4});}.width(100%);// 今日目标进度条Progress({value:13,total:30,type:ProgressType.Linear}).width(100%).height(6).color(#165DFF);Text(今日已学 13/30 词).fontSize(11).fontColor(Color.Gray);}.padding(16).borderRadius(16).backgroundColor(Color.White);}学习卡使用Progress组件来可视化目标完成度环形进度展示总体完成率线性进度条显示具体的单词学习进度。2.3 轮播图swiperBuilder使用 ArkUI 的 Swiper 组件实现广告或功能推荐轮播BuilderswiperBuilder(){Swiper(){ForEach(this.bannerList,(item:BannerItem){Image(item.image).width(100%).aspectRatio(2.2).borderRadius(12);});}.autoPlay(true).interval(3000).indicator(true).loop(true);}Swiper 通过autoPlay开启自动轮播interval设置 3 秒切换间隔indicator显示底部导航点。2.4 5 宫格功能入口functionBarBuilder将核心功能以网格形式展示每个入口由图标 文字组成Localfunctions:CourseCoreBar[][newCourseCoreBar($r(app.media.ic_practice_camera),搜单词),newCourseCoreBar($r(app.media.ic__practice_wrong_question),易错词),newCourseCoreBar($r(app.media.ic_practice_star),生词本),newCourseCoreBar($r(app.media.ic_practice_notes),笔记),newCourseCoreBar($r(app.media.ic_chart_report),学习报告)];BuilderfunctionBarBuilder(){Grid(){ForEach(this.functions,(item:CourseCoreBar){GridItem(){Column(){Image(item.icon).width(32).height(32);Text(item.label).fontSize(12).margin({top:4});}}});}.columnsTemplate(1fr 1fr 1fr 1fr 1fr).rowsTemplate(1fr).columnsGap(8);}columnsTemplate(1fr 1fr 1fr 1fr 1fr)将 Grid 分为 5 等份每个 GridItem 占据一格形成经典的 5 宫格布局。2.5 2x2 练习模式practiceModeBuilder用 Grid 的 2 行 2 列展示练习模式入口比 5 宫格更开阔BuilderpracticeModeBuilder(){Grid(){ForEach(this.practiceModes,(item:PracticeMode){GridItem(){Column(){Text(item.title).fontSize(16).fontWeight(FontWeight.Bold);Text(item.desc).fontSize(12).fontColor(Color.Gray);}.padding(20).borderRadius(16).backgroundColor(item.color);}});}.columnsTemplate(1fr 1fr).rowsTemplate(1fr 1fr).rowsGap(12).columnsGap(12);}每个 GridItem 是一张带有背景色的卡片展示 CET-4 核心词汇、听力训练、阅读理解、语法练习四个入口。2.6 学习进度区subjectPracticeBuilder展示按学科分类的详细学习进度LocalcoursePractice:CourseQuestions[][newCourseQuestions(CET-4 核心词汇,120,300,85,2025-01-15 14:30),newCourseQuestions(CET-6 高频词汇,1024,3411,85,2025-01-15 14:30),// ...];每项展示已学题数/总题数、正确率、最后学习时间。三、整体布局分析build(){Column(){Flex({direction:FlexDirection.Column}){this.topBarBuilder();Scroll(){Column({space:10}){this.todayStudyBuilder();this.swiperBuilder();this.functionBarBuilder();this.practiceModeBuilder();this.subjectPracticeBuilder();Blank().layoutWeight(1);}}.scrollBar(BarState.Off).layoutWeight(1);};}.padding({left:16,right:16}).backgroundColor($r(sys.color.background_secondary)).width(100%).height(100%);}布局要点顶部搜索栏固定在顶部不随滚动移动内容区域用Scroll包裹处理内容超长时的滚动layoutWeight(1)让 Scroll 填充剩余高度统一使用space: 10控制模块间距整体使用Flex垂直布局固定顶部 滚动区域四、与课程列表首页的区别从课程列表到英语学习首页的本质变化对比维度课程列表首页英语学习首页核心目标浏览课程快速学习 查看进展布局结构列表 (List)卡片组合 (Card Grid)数据展示课程名称、价格学习进度、功能入口用户状态浏览者学习者有学习历史交互重心点击进入详情直接开始学习首页不再是商店货架式的课程陈列而是围绕今日学习展开的进度中心。每个模块都在引导用户进入学习状态这是英语学习 App 与教育 App 在设计理念上的关键区别。五、总结MainPage 的 6 个 Builder 模块展示了 ArkTS 强大的组件化能力。通过Builder装饰器将首页拆分为独立模块每个模块聚焦一个功能点既便于阅读和维护也为后续的个性化配置如用户自定义首页模块的排序奠定了基础。

相关新闻

AI编程实战:用Codex类工具从零开发贪吃蛇游戏

AI编程实战:用Codex类工具从零开发贪吃蛇游戏

最近看到 OpenAI 员工用 Codex 做游戏的消息,让我对 AI 辅助编程产生了浓厚兴趣。作为开发者,我们总是希望找到提升编码效率的新工具,而 Codex 这样的 AI 代码生成模型确实能带来不少惊喜。本文将带你从零开始,使用类似 Codex 的 …

2026/7/26 19:25:27阅读更多 →
Rust 异步与同步的桥接:在同步代码中调用异步函数的最佳实践指南

Rust 异步与同步的桥接:在同步代码中调用异步函数的最佳实践指南

Rust 异步与同步的桥接:在同步代码中调用异步函数的最佳实践指南 一、那个让我困惑了一周的 Bug 刚学 Rust 的时候,我做过一件蠢事:在一个同步函数里直接 .await 一个 future。 // ❌ 这段代码压根编译不过 fn sync_function() -> String …

2026/7/26 19:25:27阅读更多 →
Rust AI 工具的全链路方案:从用户输入到模型输出的端到端架构设计

Rust AI 工具的全链路方案:从用户输入到模型输出的端到端架构设计

Rust AI 工具的全链路方案:从用户输入到模型输出的端到端架构设计 一、当用户的 Prompt 变成 tokens:全链路思考的起点 去年我在做一个 AI CLI 工具,用户输入 "帮我写一个斐波那契的 Rust 函数",最终拿到返回结果。这个…

2026/7/26 19:25:27阅读更多 →
提示词方案评估不靠感觉,靠数据:7维量化模型+可复用评估Checklist

提示词方案评估不靠感觉,靠数据:7维量化模型+可复用评估Checklist

更多请点击: https://intelliparadigm.com 第一章:提示词方案评估不靠感觉,靠数据:7维量化模型可复用评估Checklist 传统提示词优化常依赖经验直觉,易陷入“调参式试错”。本章提出一套可落地、可复现的量化评估体系—…

2026/7/26 20:53:43阅读更多 →
OpenClaw:AI驱动的智能自动化工具解析与应用

OpenClaw:AI驱动的智能自动化工具解析与应用

1. OpenClaw:重新定义个人效率的革命性工具第一次接触OpenClaw是在处理跨时区会议安排时,这个看似简单的自动化工具在3分钟内完成了过去需要反复邮件确认的工作。作为从业者,我见证了从IFTTT到Zapier再到OpenClaw的进化历程——现在的AI助手已…

2026/7/26 20:53:43阅读更多 →
3分钟快速上手:用MoocDownloader轻松实现中国大学MOOC课程离线学习

3分钟快速上手:用MoocDownloader轻松实现中国大学MOOC课程离线学习

3分钟快速上手:用MoocDownloader轻松实现中国大学MOOC课程离线学习 【免费下载链接】MoocDownloader An MOOC downloader implemented by .NET. 一枚由 .NET 实现的 MOOC 下载器. 项目地址: https://gitcode.com/gh_mirrors/mo/MoocDownloader 你是否曾经因为…

2026/7/26 20:53:43阅读更多 →
3步实现高效VR视频转换:让普通设备也能享受沉浸式体验

3步实现高效VR视频转换:让普通设备也能享受沉浸式体验

3步实现高效VR视频转换:让普通设备也能享受沉浸式体验 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_mi…

2026/7/26 20:53:43阅读更多 →
【限时解密】表单字段语义对齐误差超12.7%的根源:GPT-4o vs 专用微调模型在结构化抽取中的硬核对比测试

【限时解密】表单字段语义对齐误差超12.7%的根源:GPT-4o vs 专用微调模型在结构化抽取中的硬核对比测试

更多请点击: https://codechina.net 第一章:AI 自动化表单处理 在现代企业数字化转型中,大量结构化与半结构化表单(如发票、报销单、合同附件、医疗申请表)持续涌入业务系统。传统人工录入不仅耗时易错,还…

2026/7/26 20:53:43阅读更多 →
如何在3分钟内实现Windows远程文件管理:SSHFS图形界面完整教程

如何在3分钟内实现Windows远程文件管理:SSHFS图形界面完整教程

如何在3分钟内实现Windows远程文件管理:SSHFS图形界面完整教程 【免费下载链接】sshfs-win-manager A GUI for SSHFS-Win (https://github.com/billziss-gh/sshfs-win) 项目地址: https://gitcode.com/gh_mirrors/ss/sshfs-win-manager SSHFS-Win Manager 是…

2026/7/26 20:51:43阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/25 23:03:25阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/26 19:05:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/26 19:05:21阅读更多 →