我用鸿蒙 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 一起改;如果只是想用,也欢迎自取。

相关推荐
承渊政道5 小时前
鸿蒙设备远控电脑实测:ToDesk蓝牙键鼠、双模式鼠标、跨端剪贴板,远控电脑更顺手了
计算机外设·电脑·harmonyos·远程工作·todesk
CV工程师丁Sir7 小时前
ArkWeb 手记 04|DevTools 调试与缓存清理
java·spring·缓存·harmonyos
程序猿追19 小时前
HarmonyOS 6 上做个极简浏览器:Web 组件 + 前进后退 + 加载进度
前端·华为·harmonyos
程序猿追19 小时前
HarmonyOS 6 音视频实战:用 AVPlayer 做一个本地音乐播放器
华为·音视频·harmonyos
威哥爱编程19 小时前
HarmonyOS 7 多设备 UX 自动检测实战:AppAnalyzer 多设备体检 + 一多工程底线,提前拦截截断重叠大图大字
harmonyos
威哥爱编程19 小时前
HarmonyOS 7 安全相机 2.0 实战:数字内容溯源,为拍摄内容提供来源保护
harmonyos
威哥爱编程19 小时前
HarmonyOS 7 弱网优化实战:Network Boost Kit 场景加速 + QUIC 长连接 + 弱网直播优化
harmonyos
威哥爱编程19 小时前
HarmonyOS 7 应用故障智能诊断实战:APMS 故障总览 + Profiler 跨语言泄漏 + Operation Analyzer 冻屏分析
harmonyos
暖风熏人醉19 小时前
Expo 鸿蒙双 SDK 时代:我把适配鸿蒙做成了工程
harmonyos