我用鸿蒙 ArkTS 写了个自己天天用的备忘录:待办、课表和长期目标,全塞进一块桌面卡片

缘起

我的待办一直很乱:课表、当天要交的作业、随手想到的事、还有期中、四级这些长期目标,全混在一个列表里。市面上的备忘录要么功能太泛,要么在鸿蒙上体验不好------尤其我特别想要一块放在桌面的服务卡片,不点开就能一眼看全今天要干嘛。

找不到就自己写。用鸿蒙原生(ArkTS / ArkUI),现在手机和平板每天在用。

它长什么样

缘起

我的待办一直很乱:课表、当天要交的作业、随手想到的事、还有期中、四级这些长期目标,全混在一个列表里。市面上的备忘录要么功能太泛,要么在鸿蒙上体验不好------尤其我特别想要一块放在桌面的服务卡片,不点开就能一眼看全今天要干嘛。

找不到就自己写。用鸿蒙原生(ArkTS / ArkUI),现在手机和平板每天在用。

它长什么样

缘起

我的待办一直很乱:课表、当天要交的作业、随手想到的事、还有期中、四级这些长期目标,全混在一个列表里。市面上的备忘录要么功能太泛,要么在鸿蒙上体验不好------尤其我特别想要一块放在桌面的服务卡片,不点开就能一眼看全今天要干嘛。

找不到就自己写。用鸿蒙原生(ArkTS / ArkUI),现在手机和平板每天在用。

它长什么样

设计上刻意不做成一个大列表,而是分成三块:

  • 近期:今天和明天要做的事,今天在上、明天在下
  • 随手记:临时记的,可以没有日期
  • 长期:底下是一张简化甘特图,每个长期目标一根横条,从开始日铺到截止日;到期当天自动在「今天」生成待办,不用手抄

几个花心思的功能

  • 桌面服务卡片:不点开 App 就能看全三块内容,放不下会折叠成「还有 N 条...」
  • 课表自动进待办:支持单双周、调休、非整学期课,填一次管一学期,每天自动展开到当天
  • 定时提醒:每天早上 6:30 推当天待办汇总;到期的前一天单独提醒一条
  • 三端同步:手机 / 平板走华为 AGC 端云同步,本地是鸿蒙的 relationalStore

开发中印象最深的几个坑(做鸿蒙卡片的可以参考)

  1. 服务卡片条目被静默截断:卡片端按「视觉行数」(maxLines)算容量,而数据处理端按「条目条数」算,两边口径不一致,多出来的条目会无声消失。正确做法是先按卡片实际尺寸量出能显示几条,再从数据源折叠,同时在卡片端加裁剪兜底。
  2. 嵌套 ForEach 的 key 陷阱:ArkUI 里外层 ForEach 的 key 不变时,内层列表永远不会重建。表现是「空列表里加第一条不显示,重启 App 才出现」,排查了很久。
  3. 甘特图拖动一卡一卡:三个叠加原因------刻度容器宽度用 layoutWeight 被压缩、拖动偏移量每次取整、列表 key 没带位置信息导致复用错乱。

开源

代码在 GitHub(GPL-3.0):github.com/jiangjiangw...

这个项目会一直按「自己天天用」的标准迭代。如果你是鸿蒙开发者,对服务卡片、甘特交互有想法,欢迎提 issue 或 PR 一起改;如果只是想用,也欢迎自取。

设计上刻意不做成一个大列表,而是分成三块:

  • 近期:今天和明天要做的事,今天在上、明天在下
  • 随手记:临时记的,可以没有日期
  • 长期:底下是一张简化甘特图,每个长期目标一根横条,从开始日铺到截止日;到期当天自动在「今天」生成待办,不用手抄

几个花心思的功能

  • 桌面服务卡片:不点开 App 就能看全三块内容,放不下会折叠成「还有 N 条...」
  • 课表自动进待办:支持单双周、调休、非整学期课,填一次管一学期,每天自动展开到当天
  • 定时提醒:每天早上 6:30 推当天待办汇总;到期的前一天单独提醒一条
  • 三端同步:手机 / 平板走华为 AGC 端云同步,本地是鸿蒙的 relationalStore

开发中印象最深的几个坑(做鸿蒙卡片的可以参考)

  1. 服务卡片条目被静默截断:卡片端按「视觉行数」(maxLines)算容量,而数据处理端按「条目条数」算,两边口径不一致,多出来的条目会无声消失。正确做法是先按卡片实际尺寸量出能显示几条,再从数据源折叠,同时在卡片端加裁剪兜底。
  2. 嵌套 ForEach 的 key 陷阱:ArkUI 里外层 ForEach 的 key 不变时,内层列表永远不会重建。表现是「空列表里加第一条不显示,重启 App 才出现」,排查了很久。
  3. 甘特图拖动一卡一卡:三个叠加原因------刻度容器宽度用 layoutWeight 被压缩、拖动偏移量每次取整、列表 key 没带位置信息导致复用错乱。

开源

代码在 GitHub(GPL-3.0):github.com/jiangjiangw...

这个项目会一直按「自己天天用」的标准迭代。如果你是鸿蒙开发者,对服务卡片、甘特交互有想法,欢迎提 issue 或 PR 一起改;如果只是想用,也欢迎自取。

【② 插入截图:主界面】

设计上刻意不做成一个大列表,而是分成三块:

  • 近期:今天和明天要做的事,今天在上、明天在下
  • 随手记:临时记的,可以没有日期
  • 长期:底下是一张简化甘特图,每个长期目标一根横条,从开始日铺到截止日;到期当天自动在「今天」生成待办,不用手抄

几个花心思的功能

  • 桌面服务卡片:不点开 App 就能看全三块内容,放不下会折叠成「还有 N 条...」
  • 课表自动进待办:支持单双周、调休、非整学期课,填一次管一学期,每天自动展开到当天
  • 定时提醒:每天早上 6:30 推当天待办汇总;到期的前一天单独提醒一条
  • 三端同步:手机 / 平板走华为 AGC 端云同步,本地是鸿蒙的 relationalStore

开发中印象最深的几个坑(做鸿蒙卡片的可以参考)

  1. 服务卡片条目被静默截断:卡片端按「视觉行数」(maxLines)算容量,而数据处理端按「条目条数」算,两边口径不一致,多出来的条目会无声消失。正确做法是先按卡片实际尺寸量出能显示几条,再从数据源折叠,同时在卡片端加裁剪兜底。
  2. 嵌套 ForEach 的 key 陷阱:ArkUI 里外层 ForEach 的 key 不变时,内层列表永远不会重建。表现是「空列表里加第一条不显示,重启 App 才出现」,排查了很久。
  3. 甘特图拖动一卡一卡:三个叠加原因------刻度容器宽度用 layoutWeight 被压缩、拖动偏移量每次取整、列表 key 没带位置信息导致复用错乱。

开源

代码在 GitHub(GPL-3.0):github.com/jiangjiangw...

这个项目会一直按「自己天天用」的标准迭代。如果你是鸿蒙开发者,对服务卡片、甘特交互有想法,欢迎提 issue 或 PR 一起改;如果只是想用,也欢迎自取。

相关推荐
梦想不只是梦与想3 小时前
鸿蒙 AI自动化测试实现
单元测试·harmonyos·hypium
用户0934077735149 小时前
HarmonyOS WPS Open SDK 工程实践:把 registerApp 做成就绪门禁
typescript·harmonyos
大雷神12 小时前
HarmonyOS7应用《拼棋派对》实战:双人键盘操作与窗口焦点恢复
harmonyos·arkui·harmonyos 7.0·玩转 arkts
2501_9462447814 小时前
开源鸿蒙平台 CMP 三方库「compose-continuous-rounded-corner-shape」适配全流程
华为·开源·harmonyos
KevinChaos14 小时前
灶台菜谱设计手记 03|HarmonyOS 7.0 空间化:沉浸光感反馈
harmonyos
大雷神14 小时前
HarmonyOS7应用《拼棋派对》实战:折叠屏与电脑的窗口布局适配
harmonyos·arkui·harmonyos 7.0·玩转 arkts
2501_9462447814 小时前
开源鸿蒙平台 CMP 三方库「Waterfall」适配全流程
华为·开源·harmonyos
2401_zq136y0314 小时前
开源鸿蒙平台 CMP 三方库「Jewel」适配全流程
华为·开源·harmonyos
2601_9494800615 小时前
开源鸿蒙平台 KMP 三方库「AutoLinkText」适配全流程
华为·开源·harmonyos
JoyCong199816 小时前
ToDesk鸿蒙PC端又焕新!远控更稳、操作更准,跨端办公如本地
运维·华为·智能手机·harmonyos·远程工作