HarmonyOS 应用开发《掌上英语》第78篇:Live View Kit 实况窗:将学习进度“钉“在锁屏上

发布时间:2026/11/13 12:12:43

HarmonyOS 应用开发《掌上英语》第78篇:Live View Kit 实况窗:将学习进度“钉“在锁屏上 Live View Kit 实况窗将学习进度钉在锁屏上一、实况窗的概念生活中我们都有这样的场景锁屏想看学了多少单词必须解锁手机、打开 App、等待首页加载、查看进度数字——操作成本太高。HarmonyOS 6.0 的 Live View Kit 实况窗允许 App 在锁屏和通知栏上创建动态信息卡片用户无需解锁就能看到关键信息。实况窗分为三种位置形态锁屏实况窗在锁屏界面底部展示支持交互点击跳转应用。通知栏实况窗下拉通知栏时展示通常信息更详细。灵动岛胶囊在挖孔屏设备的顶部胶囊区域展示紧凑信息。对于英语学习 App最实用的场景是锁屏上显示今日已学 15/30 词用户在通勤路上扫一眼就知道今天的学习进度。如果还有未完成的单词点击实况窗直接跳转到CourseHomePage继续学习。二、Live View 的创建、更新与销毁Live View 的生命周期分为三个阶段创建、更新、销毁。创建当用户开始学习进入CourseHomePage时创建实况窗。import{ liveView }fromkit.LiveViewKit;functioncreateStudyLiveView():void{ liveView.createLiveView(study_progress, {template: liveView.TemplateType.ASSISTANT, data: { title:今日学习, progress:0, target:30, currentWord:, continuousDays:0, }, buttons: [ {text:继续学习, actionType: liveView.ActionType.JUMP }, ], }); }更新当用户学完一个单词后更新实况窗数据。functionupdateStudyProgress(learnedCount:number, target:number):void{ liveView.updateLiveView(study_progress, {progress: learnedCount,target: target,currentWord:apple,// 当前学习的单词}); }销毁当用户完成今日目标或退出学习页面时销毁实况窗。functiondestroyStudyLiveView(): void { liveView.destroyLiveView(study_progress); }实况窗的数据更新频率需要合理控制。建议在以下时机触发更新用户学完一个单词更新进度。用户完成一次答题练习更新正确率。连续学习天数变更更新徽章信息。今日目标完成触发庆祝动画。三、辅助区模板百分比进度环Live View Kit 提供了多种模板类型其中辅助区模板支持在实况窗中嵌入进度环、图标等视觉元素。对于学习进度展示进度环是最直观的方式——一眼就能看出今天完成了多少。liveView.createLiveView(study_progress, { template: liveView.TemplateType.ASSISTANT,//主信息区 mainInfo: { title:今日目标, description:已学 X/30 词, progress:0.5,//50% },//辅助信息区进度环 auxiliaryInfo: { type: liveView.AuxiliaryType.PROGRESS_RING, value:0.5, startColor:#007DFF, endColor:#00E5FF, }, });进度环的参数包括起始颜色、结束颜色和当前值。建议使用蓝色渐变与 App 主色调一致在目标完成时切换为金色或绿色渐变营造完成感和成就感。四、锁屏实况窗今日已学 X/30 词锁屏实况窗是用户最常看到的位置。在锁屏界面实况窗展示在时钟下方用户可以快速获取信息。场景一学习进行中。用户在CourseHomePage背单词时锁屏锁屏实况窗显示今日已学 12/30 词以及当前单词的单词和音标。这实现了碎片化复习——用户锁屏时无意中又看到了一次当前单词相当于一次被动复习。场景二学习暂停中。用户中途退出 App但今日目标尚未完成。锁屏实况窗保持显示进度提醒用户还有未完成的学习任务。这是一种温柔提醒比通知推送更不打扰用户但效果同样显著。场景三目标完成。用户学完 30 词后实况窗切换到完成状态显示今日目标已完成连续学习 7 天并展示一个小徽章图标。成就感驱动用户明天继续学习。function onStudyComplete(plan:LearningPlan): void {liveView.updateLiveView(study_progress, { mainInfo:{title: 今日目标完成,description:连续学习 ${plan.continuousDays} 天,progress:1.0,}, auxiliaryInfo:{type:liveView.AuxiliaryType.PROGRESS_RING,value:1.0,startColor:#00C853,endColor:#69F0AE,}, }); }五、通知栏实况窗连续学习天数 明日目标通知栏实况窗比锁屏实况窗有更大的展示空间可以展示更多信息。在学习场景中建议展示以下内容连续学习天数以徽章或数字形式突出显示。明日目标基于 LearningPlanManager 的数据显示明日推荐学习量。进步曲线近 7 天的学习时长 / 单词数趋势。通知栏实况窗的优势在于用户可以主动下拉查看信息密度可以更高。例如──────────────── 英语学习 | 连续7天 今日15/30词 | 正确率85%明日目标25词同阶段词汇 [继续学习] [查看报告] ────────────────liveView.updateLiveView(study_progress, { template:liveView.TemplateType.NOTIFICATION,data:{title:连续学习 7 天 ,description:今日${todayCount}/${target} 词,subDescription:明日目标${tomorrowTarget} 词,stats:{correctRate:85%,totalWords:plan.totalWordCount,totalDays:plan.continuousDays,}, }, });六、基于 StatisticsManager 的数据推送实况窗的数据来源是项目中已有的数据管理层。通过StatisticsManager获取答题统计通过LearningPlanManager获取学习计划和今日进度。functionrefreshLiveViewData(): void {constplan LearningPlanManager.getInstance().getLearningPlan();conststats StatisticsManager.getInstance().getHistoryStatistics(); liveView.updateLiveView(study_progress, { progress: plan.todayWordCount, target: plan.dailyWordGoal, continuousDays: plan.continuousDays, correctRate: stats.correctRate, }); }建议在LearningPlanManager.recordWordStudy()方法中自动触发实况窗更新。这样每当用户学完一个单词实况窗的数据自动刷新无需在 UI 层手动调用。七、实践建议学习开始创建学习结束销毁实况窗虽然强大但不宜长期驻留。推荐的生命周期管理策略创建时机用户进入CourseHomePage开始学习或完成一次答题练习时创建。更新时机每次recordWordStudy()调用后更新。销毁时机用户完成当日所有目标或主动点击结束学习时销毁。闲置超时用户超过 30 分钟没有学习操作自动销毁实况窗。这种策略确保实况窗只在用户真正在学习时显示避免被用户视为广告位。实况窗的核心价值是方便而非打扰。八、总结Live View Kit 实况窗将学习进度从 App 内部延伸到锁屏界面创造了一个无需解锁就知道进度、扫一眼就能被提醒的学习闭环。基于StatisticsManager和LearningPlanManager的数据驱动结合进度环模板和分段生命周期管理实况窗成功地将英语学习的信息触达率提升到了一个新的高度。
延伸阅读

更多相关文章

2026/11/10 10:32:31

Python 类封装功能:面向对象编程的基础知识

1. 什么是封装封装(Encapsulation)是面向对象编程(OOP)的三大核心特性之一,另外两个是继承和多态。封装的核心思想是将数据(属性)和操作数据的方法(方法)捆绑在一起&…

2026/11/12 18:27:29

Spring Boot中Jackson ObjectMapper核心配置详解与实战避坑指南

1. 项目概述:为什么ObjectMapper的配置值得深究?如果你用过Spring Boot,那Jackson的ObjectMapper对你来说肯定不陌生。它就像项目里那个最勤恳的“数据搬运工”,默默地把Java对象变成JSON字符串,或者把JSON字符串变回J…

2026/11/13 20:22:36

衡水考电工证真实经历:外地证能转吗?薪资前景和报考干货全在这里

衡水考电工证真实经历:外地证能转吗?薪资前景和报考干货全在这里 之前考的证在外省能不能转过来?这是很多已经拿到电工证,但工作地点或户籍发生变动的朋友最关心的问题。今天咱们就以【衡水考电工证】为切入点,结合【真实经历】,聊聊电工证怎么转、值不…

2026/11/13 20:22:36

辉县考电工证去哪里学 上岗必备的报考指南和复习策略

辉县考电工证去哪里学 上岗必备的报考指南和复习策略 你是不是正为找不到电工证而发愁?是不是在找工作时被要求必须有特种作业证?别急,今天就给你讲讲【辉县考电工证去哪里学】,让你明白这个 上岗必备…

2026/11/13 20:22:36

兴化低压电工证怎么考?考前押题资料全在这儿

兴化低压电工证怎么考?考前押题资料全在这儿 找工作没证根本不行,尤其是电工这类特种作业岗位, 兴化低压电工证 几乎是上岗门槛,没有这个证连面试都过不了。现在各地对特种作业人员的要求越来越严格,连带的考前押题资料也成了刚需。本文帮你一步步理清…

2026/11/13 20:22:36

电工证丢了怎么补办?滁州电工证在哪报名真实经历告诉你

电工证丢了怎么补办?滁州电工证在哪报名真实经历告诉你 工地太忙根本没时间复习考试,这几乎是每个在一线工地干活的电工师傅都遇到过的问题。我认识的一个朋友,因为没时间复习,直接挂了高压电工证考试,差点耽误了工期。后来他找了个培训机构突击补课,才…

2026/11/13 20:17:32

山西考电工证培训多久 有含金量的证怎么考

山西考电工证培训多久 有含金量的证怎么考 工地太忙根本没时间复习考试,这是很多一线工人的真实写照。尤其是像你这样在洛阳涧西区从事建筑或维修工作的朋友,天天赶工期,根本没有整块时间去准备电工证考试。但别小看这本证,它在工地、工厂、甚至一些高危…

2026/11/12 20:35:13

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/13 0:01:06

办上海高压电工证良心建议:别被中介坑了,自己看这篇就够了

办上海高压电工证良心建议:别被中介坑了,自己看这篇就够了 你是不是也像我一样,第一次听说“高压电工证”这个名词,就感觉一头雾水?其实很多人都跟我一样,不知道去哪报名、怕被中介坑,结果花了冤枉钱还考不上。今天我就从一个在商丘培训过的学员角度,…

2026/11/13 0:01:06

黎里考电工证在哪里值不值得考

黎里考电工证在哪里值不值得考 之前考的证在外省能不能转过来?这是很多在外地工作、准备回老家发展的朋友最关心的问题。特别是在黎里地区,很多从事电力相关工作的朋友,都面临这样一个难题: 外省的电工证能否在本地使用?值不值得考?…

2026/11/13 0:01:06

毕节哪里考电工证 怎么报名学历不高也能上手

毕节哪里考电工证 怎么报名学历不高也能上手 你是不是也和我一样,学历不高,想着考个电工证,但又担心自己条件不够,怕报不上名?其实不然,只要符合条件,学历不高也能考电工证。今天就来聊聊【毕节哪里考电工证】这个问题,还有怎么报名,让你一步到位不…

2026/11/12 22:10:13

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/13 12:14:39

SSM电子书店源码全解析:结构、原理、部署与排错实战

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

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

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

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