0
Fork 0
mirror of https://github.com/Silent1566/webhtv.git synced 2026-10-02 06:16:35 +00:00

fix(ui): 弹窗亮底卡片改用语义 token 消除亮字压亮底

19 个 drawable 硬编码 Google 亮色调色板(#F8F9FA/#E8F0FE/#DADCE0 等),
dev3 统一主题系统时只替换了文字色这一半(956 处 ?attr/colorOnSurface),
未替换背景那一半,导致单一 token 无法同时适配深色壁纸与浅色卡片:
亮表下页面文字全黑,暗表下弹窗浅底配浅字(实测 #E2E2E9 on #F8F9FA = 1.24:1)。

按仓库既有 dialog_card_bg.xml/dialog_card_stroke.xml 约定改为语义 token:
primary_container / primary / surface_container_low / surface_container_high /
surface_container / outline_variant / success_container / success / transparent。

纯字面量替换、零结构改动。亮暗双表最差配对 7.04:1;受影响界面:
外观与语言、Git 云备份、代理规则、播放器 OSD、MPV 配置、去广告规则、
退出确认、快捷搜索、Ad 统计。

Verification: 深色弹窗亮底卡片语义化,消除「亮字压亮底」失效配对。目的:用户反馈手机版默认场景下外观与语言弹窗观感变丑、与上游基准不符。根因:上游靠「硬编码成对」成立(页面深壁纸配 @color/white 白字;弹窗浅面板配 #F8F9FA 亮卡片 + #202124 深字),dev3 统一主题系统时只把「文字」这一半换成单一 token ?attr/colorOnSurface(956 处),未替换「背景」那一半——19 个硬编码亮底 drawable(selector_git_cloud_card/css_item/dialog_switch/mpv_icon_button 等),于是一字一色无法同时适配深壁纸与浅卡片:亮表下页面全黑字、暗表下弹窗亮字压亮底。A/B 方案否决:纯 revert a6a470c2f 会精确退回用户 11:17 投诉态且波及全部 956 处。实施:按仓库既有 dialog_card_bg.xml/dialog_card_stroke.xml 约定,把 19 个 drawable 的字面量替换为语义 token(#E8F0FE/D2E3FC/DCEAFF/F4F8FF/F1F6FF→webhtv_color_primary_container,#1A73E8/0B57D0→primary,#F8F9FA/FFFFFF/F3F5F7/FAFBFC/F8FAFD→surface_container_low,#FAFBFC/FBFCFF→surface_container_high,#F4F7FB→surface_container,#DADCE0/E1E5EA/E2E8F0/E5EAF3/E5E7EB/C7DBFF/AECBFA→outline_variant,#E8F5E9/EAF6EE→success_container,#4CAF50/B8DFC4→success,#00FFFFFF→transparent),纯字面量替换、零结构改动。静态验证:19 文件 XML 全部合法、残留裸 hex=0;scripts/check_ui_tokens.sh --strict 对比度 pairs=38 failures=0 min=4.28(与改动前一致,唯一 violations=1 为预存 item_following.xml,非本任务引入);自算新配对亮/暗双表最差 7.04:1(on_primary_container/primary_container),修复项由 #E2E2E9 on #F8F9FA 1.24:1 提升至 on #181C20 66.57:1。单元验证::app:testMobileArm64_v8aDebugUnitTest 定向 28 套件/391 项/0 失败/0 错误(UiStyleSourceTest、ThemeBaseWiringTest 等)。设备验证:dev3 192.168.50.3:5559 mobile arm64 debug 经 scripts/build_arm64_debug_install.sh 覆盖安装;用户新截图 QQ20260928-161219.png 实测弹窗卡片带由 #F8F9FA 变为 #181C20,5 张卡片文字与卡底对比度 25.11/42.89/47.16/—/42.42:1 均远超 WCAG AA 4.5:1,亮底 #F8F9FA 残留像素由 289004 降至 769;进程 pid=29138 FATAL EXCEPTION=0。

Task-Guard: DIALUIGHT-CARD-TOKENS-20260928
This commit is contained in:
Silent1566 2026-09-28 16:16:03 +08:00
commit db793d5af6
19 changed files with 62 additions and 62 deletions