Skip to content

fix(ui): 收口 Android 语义排版与 Fx 基础组件 - #11

Merged
z7ping merged 417 commits into
mainfrom
fix/android-typography-fx-foundation
Aug 31, 2026
Merged

z7ping merged 417 commits into
mainfrom
fix/android-typography-fx-foundation

Conversation

@z7ping

@z7ping z7ping commented Aug 29, 2026 •

Copy link
Copy Markdown
Owner

目的

落实 #9 与 #10,并修复 Fx 化过程中产生的 Windows 视觉回归。

本 PR 不重新设计 Slowlight UI:Android 提升可读性/触控,Windows 保持已确认的高密度视觉,并统一到 shadcn_ui → Design Token → Fx* → Feature Widgets → Screen。

核心边界:业务层不绕过 Fx;Fx 内部 Shad-first;Material 视觉仅允许明确能力原因的平台适配例外;Fx 化不得顺便改变既有字号、密度、Hover、Dialog 等高保真视觉。

当前设计基线

  • 应用壳层:mobile < 600、medium 600–1023、desktop >= 1024;组件局部断点按真实可用宽度判断。
  • Windows:高密度平台 Profile;Android:移动端可读 Profile;Material Theme / Shad Theme / SlowlightTypography 同源解析。
  • 基础 spacing 目标:4 / 8 / 12 / 16 / 24;历史兼容别名不机械清洗。
  • Android 主要触控目标 44px,不允许直接撑大 Windows 可见尺寸。

Fx 视觉回归 Checklist

  • 1. 锁定 Fx 化前视觉基线与规则
  • 2. 修正 Fx 架构门禁
  • 3. 重建 Windows / Android 平台排版主题
  • 4. 修复 Fx 基础组件
    • FxButton / FxInput / FxIconButton
    • FxChip / FxChoiceChip / FxSegmented / FxCard
  • 5. 修复公共布局组件
    • FxActionBar / FxDialogActions
    • FxPageHeader / FxSectionHeader
    • FxListTile 密度语义
    • Windows 二级页头恢复约 14.5px / 700
    • FxSectionHeader 恢复 Fx 化前正式实现的 600 字重
    • FxStatCell Windows 主数值恢复 Fx 化前正式实现的 20px / 700;Android 保持 20px
  • 6. 统一 Dialog / Sheet / 时间选择
    • Windows「记录任务 / 写下观察」居中 Dialog
    • Android 保留记录类 Sheet
    • 中文“时 / 分 / 秒”
    • 重复关闭入口门禁
  • 7. 修复已确认的 Windows 页面视觉回归
    • 四象限唯一 +
    • AI 服务操作区右锚定
    • 清单管理页面身份与紧凑列表
    • 常用二级页 Header / ActionBar
  • 8. 恢复休息提醒高保真,不改计时 / BehaviorEvent
  • 9. 防回归测试
    • 平台 Theme、Button / Chip / Segmented / Header
    • Input / Dialog 架构守卫
    • ListTile、中文时间、休息遮罩、600/1024
    • 二级页头、SectionHeader 字重、StatValue 平台层级测试
  • 10. 最新 HEAD 自动化与实机验收
    • [~] Flutter analyze / tests
    • [~] Windows Smoke
    • [~] Android debug build
    • [~] Web build
    • [~] Go tests / 公共文档检查
    • [~] Sensitive Information Guard
    • Windows 常见窗口尺寸 / DPI / 亮暗主题人工视觉验收
    • Android 360dp / 字体缩放 / 亮暗主题人工视觉验收
  • 11. 最终收口

已知但不机械清洗的项目

  • layout_tokens.dart 仍保留历史 spacing / radius 兼容入口;禁止新增,随真实组件迁移逐步删除。
  • Input / Chip / Segmented 等约 1px 级高保真 CSS 与 Shad/Fx 实际几何差异,没有实机证据前不为“数字一致”调整。
  • 通用 EmptyState / Dialog 在高保真具体场景与 Fx 化前共享实现之间本来就存在差异;没有具体页面证据时不强制抹平。
  • CI 绿不能替代 Windows / Android 人工视觉验收。

最近一次自动化回归说明

7a9c064 的 233 个 Flutter 测试中,新增的 PageHeader / SectionHeader / StatCell 等行为与排版测试全部通过;唯一失败是架构守卫扫描到生产代码注释中出现旧兼容组件类名。当前 5687dd0 已只修改注释移除旧类名,没有放宽架构守卫,也没有修改组件行为,正在重新跑全量门禁。

当前状态

最新 HEAD:5687dd0。代码侧从现有高保真 + Fx 化前正式实现能够直接证明的公共视觉漂移已经完成一轮审计;其余 1px 微几何与具体页面差异留给实机视觉证据,不继续机械调整。

PR 继续保持 Draft;未合并、未发布、未改版本号、未打 Tag。

关联

z7ping and others added 28 commits August 30, 2026 19:19
z7ping added 28 commits August 31, 2026 18:32
@z7ping
z7ping marked this pull request as ready for review August 31, 2026 22:38
@z7ping
z7ping merged commit e272b52 into main Aug 31, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant