- 形态
- Android App(iOS 规划中)
- 框架
- Flutter 3.47 · Dart
- 表盘
- 全自绘 CustomPainter
- 特色
- 真太阳时 · 桌面小组件
它是什么
一块按传统历法与养生逻辑组织的表盘。中央是太极,外圈按同心环排布二十四小时刻度、十二地支、子午流注的脏腑与经络、二十四节气、天干与后天八卦。
每一圈都可以单独开或关,也可以拖动改顺序——有人只要一个素雅的时钟,有人希望抬眼就能看见「现在是未时,小肠经当令」。同一块表,两种用法。
十二点在上,是钟表;子时在上,是时辰。这个选择交给你。
朝向可换:午时在上符合现代钟表与洛书「戴九履一」,子时在上更接近十二时辰的原始方位。换朝向时,八卦、地支、节气会一起转,不会错位。
功能
二十四小时一圈
时针二十四小时转一圈,而不是十二小时绕两圈。一天在表盘上只走一次,昼夜不会被折叠。
太极居中
矢量绘制,默认固定不旋转,也可以退成整盘背景水印。中心留白,才有地方落墨。
可定制的同心环
十二时辰、子午流注(脏腑 / 经络 / 养生建议)、二十四节气、天干、后天八卦、时辰刻度——逐环开关,拖拽调序。
四种预设
素雅(只留时辰与刻度)、养生(子午流注为主)、历法(节气天干八卦齐全)、极简(只有三针)。切换即生效。
真太阳时校正
按所在地经度修正平太阳时差,时辰落在正确的位置上。开启时才请求一次定位权限,也可以手填经度。
知识卡片
表盘下方横滑:当前与下一时辰、今日节气、十二时辰速查、传统小知识。卡片可上下翻页,小知识会缓缓轮播。
桌面小组件
把配置好的表盘渲染成 1024px 图推到桌面,叠加实时三针。整块组件可点开 App,开机、改时间、升级后自动重设。
全屏与主题
双击表盘进入沉浸式全屏,可缩放平移;素雅、仿古、夜览三套配色,秒针支持扫秒、跳秒与隐藏。
技术上怎么画的
整个表盘没有一张图片,全是 CustomPainter 逐帧绘制:背景、暗角、当前时辰扇区与外圈红弧、内容环、环分隔、外沿、太极、三根锥形指针。所以它在任何分辨率下都清晰,换主题也只是换一组颜色常量。
地支格线只画在与十二时辰同构的环带上——八卦、节气、天干、刻度环的等分不同,硬画格线会错位。这类「看起来只是少画一笔」的判断,其实决定了表盘是不是经得起看。
小组件的走时是一个独立的原生问题:秒针开启且亮屏时用链式闹钟每秒刷新,熄屏自动退回分钟级省电;Android 12 以上需要「闹钟和提醒」权限才能精确走时,没授权会退化成九分钟一跳,设置页会直接告诉你原因并给一个跳转按钮。
已知的不足
节气用平均间隔近似,年中会有两三天的误差,接入农历库之后可以精确化。 iOS 的桌面小组件还没做,需要原生 WidgetKit 扩展,排在后面。表盘字体优先走系统楷体,不同机型观感会有细微差别。
这些不是待办清单上的装饰,是写在这里让你知道边界在哪——一个工具知道自己哪里不准,比假装什么都准更可靠。