docs(plans): 留痕 K81 更多面板文字减重

This commit is contained in:
Zhou Weidong committed 2026-10-21 10:44:19 +08:00
1 parent 368cd04742
commit b391ad31af
2 files changed
+47 -59

No files matched your search

+18 -59
View File
@@ -1,81 +1,40 @@
# INBOX
## [已处理] K80-A 播放页「更多」面板按参考图重做
## [已处理] K81-A 更多面板文字减重、标签缩小
### 需求
### 反馈
当前更多面板:图标与文字大小不一致(选项行图标 18 / 文字 12,操作行图标 20 / 文字 14),
行高 44 偏矮,整体显得局促。按产品给的参考图重做:统一尺寸、加大行高、分组卡片、胶囊选中态。
K80-A 重做后文字偏粗,「倍速」「清晰度」等标签偏大。
### 参考图要点
- 顶部小把手,无标题、无关闭按钮
- 浅暖底 + 白色分组卡片(圆角)
- 每行:左侧线性图标 + 标签,右侧选项胶囊或右箭头
- 选项胶囊:外层浅色条(内边距 4),选中项为白色胶囊、深色加粗文字;未选中透明底、灰色文字
- 行高明显偏大,留白充足
### 现状
### 调整(只改字号与字重,布局尺寸不变)
`lib/pages/player/widgets/player_more_sheet.dart`:
- `_rowHeight = 44`、`_segmentHeight = 28`、`_segmentRadius = 8`、`_segmentPadding = 10`
- 有 `_header()`("更多" + 关闭按钮)
- 选项行:图标 18 / 文案 12;操作行:图标 20 / 文案 14
- 选中胶囊为主题色底 + 白字
1. 行标签(选项行与操作行统一)
- `_rowLabelSize`:`16` → `15`
- `FontWeight.w600` → `FontWeight.w500`
2. 选项胶囊文字
- 字号 `14` → `13`
- 选中:`FontWeight.w700` → `FontWeight.w600`
- 未选中:`FontWeight.w500` → `FontWeight.w400`
### 重做规格
1. **整体结构**
- `Material` 底色用 `AppColors.ink`(暖白),顶部圆角 20
- 内容 `padding: EdgeInsets.fromLTRB(12, 8, 12, 16)`
- 顶部把手:36×4、`AppColors.border`、圆角 999,居中;与内容间距 12
- **删除 `_header()`(标题 + 关闭按钮)**,保留 key `player-more-drag-handle`;
关闭方式沿用底部弹层的点外部 / 下拉手势
2. **分组卡片**
- 新增私有 `_group(List<Widget> rows)`:`Container` 白底 `AppColors.card`、圆角 16、
上下 padding 6
- 分成两组:
- 组一:倍速、清晰度
- 组二:清屏播放、画中画(有则显示)、离线缓存
- 两组之间间距 12
3. **行样式(选项行与操作行统一)**
- 行高 56,左右内边距 14
- 图标 22,颜色 `AppColors.onSurface`
- 图标与文字间距 14
- 标签字号 16、`FontWeight.w600`、`AppColors.onSurface`
- 操作行右侧 `chevron_right_rounded` 22,颜色 `AppColors.subtle`
4. **选项胶囊**
- 外层条:高 34、圆角 10、底色 `AppColors.raised`、水平内边距 4
- 胶囊:高 26、水平内边距 10、圆角 8、字号 14
- 选中:底 `AppColors.card`、文字 `AppColors.onSurface`、`w700`、
轻阴影 `BoxShadow(color: 0x14000000, blurRadius: 4, offset: Offset(0, 1))`
- 未选中:透明底、`AppColors.muted`、`w500`
- 禁用:文字 `AppColors.subtle`
- 倍速 6 个选项放不下时保持横向滚动(沿用 `SingleChildScrollView`)
5. 保留所有现有 Key(`player-more-sheet`、`player-more-speed-row`、`player-more-speed-<值>`、
`player-more-quality-<档位>`、`player-more-clear`、`player-more-pip`、`player-more-offline`、
`player-more-speed`、`player-more-quality`、`player-more-drag-handle`);
`player-more-close` 随关闭按钮一起移除
行高 56、图标 22、胶囊高度 26 / 外层条 34、分组卡片样式均保持不变。
### 测试
- `test/player/player_more_sheet_test.dart`、`test/player/player_fullscreen_test.dart`:
- 删除对 `player-more-close` 的点击与断言,改用 `Navigator.pop` / 点外部关闭的场景
- 行高断言更新为 56,胶囊高度断言更新为 26(外层条 34)
- 其余功能断言(选项点击、PiP 回调、离线缓存回调、顺序)保持
- 若 `test/player/player_more_sheet_test.dart` / `player_fullscreen_test.dart` 断言了字号或字重,同步更新;
未断言则不改测试
### 验收
- 门禁:`dart analyze lib test` 零告警、`flutter test` 全过、`flutter build apk --debug` 成功。
- 真机自查:更多面板行高舒适、图标与文字尺寸统一、选中胶囊为白底深字、分组留白接近参考图。
### Git
- 从 `develop` 拉 `feat/player-more-sheet-redesign`。
- 提交:`feat(player): 更多面板按参考图重做`,作者 `Zhou Weidong <502333560@qq.com>`。
- `--no-ff` 合回 `develop` 并 push;`FruitServer/docs/plans/PROGRESS.md` 追加 K80-A 留痕。
- 从 `develop` 拉 `fix/player-more-typography`。
- 提交:`fix(player): 更多面板文字减重并缩小标签`,作者 `Zhou Weidong <502333560@qq.com>`。
- `--no-ff` 合回 `develop` 并 push;`FruitServer/docs/plans/PROGRESS.md` 追加 K81-A 留痕。
### 约束
- 全程中文;禁止 `git add -A`;不改面板功能项与播放逻辑;完成后停住等待验收。
- 全程中文;禁止 `git add -A`;只改字号与字重;完成后停住等待验收。
+29
View File
@@ -22796,3 +22796,32 @@ Running Gradle task 'assembleDebug'...
```
解读:静态检查零告警,489 条测试全部通过,debug APK 构建成功。真机验收由用户执行。
## 2026-10-21 ReelShort:K81-A 更多面板文字减重与标签缩小
- 前置状态:K80-A 已完成并合并,develop 合并提交 `62f8704`。
- 分支:`fix/player-more-typography`
- 功能提交:`622dc2f fix(player): 更多面板文字减重并缩小标签`
- develop 合并提交:`e6a31a6 merge: 合并 K81-A 更多面板文字减重`,已推送 `62f8704..e6a31a6`。
- 选项行与操作行标签由 16 w600 调整为 15 w500。
- 倍速/清晰度胶囊文字由 14 调整为 13;选中态改为 w600,未选中态改为 w400。
- 行高 56、图标 22、胶囊 26/外层条 34、分组卡片与整体布局均未改动。
- 相关测试同步更新标签字号/字重、选中与未选中胶囊字号/字重断言。
门禁原始输出:
```text
$ dart analyze lib test
Analyzing lib, test...
No issues found!
$ flutter test
00:47 +489: All tests passed!
$ flutter build apk --debug
Running Gradle task 'assembleDebug'...
13.4s
✓ Built build/app/outputs/flutter-apk/app-debug.apk
```
解读:静态检查零告警,489 条测试全部通过,debug APK 构建成功。真机验收由用户执行。