docs(plans): 留痕 K34-G 剧场吸顶修复

This commit is contained in:
Zhou Weidong committed 2026-10-20 15:18:02 +08:00
1 parent 2bf9e8500c
commit bf9d611fcc
2 files changed
+51

No files matched your search

+22
View File
@@ -1,3 +1,25 @@
## [已处理] 2026-10-20 | K34-G 修复剧场分类 tab 上滑闪烁 + 收紧 tab 与工具行间距(仅 App 端)
**用户指令(2026-10-20,原文)**:
> 「1还有我上滑的时候 全部哪里的tab 会闪一下 把这个修复 2全部哪里与下面筛选的间距太大了」
**口径(只改 Flutter,不动后端、不改接口)**
1. 消除吸顶分类行上滑闪烁:
- 根因按「滚动阈值触发 setState 导致整块吸顶头重建 / 背景动画与列表同帧抖动」处理;
- 用 `ValueNotifier<bool> pinned` + `ValueListenableBuilder` 只重建背景层(`AnimatedContainer`),吸顶内容(分类 tab)用稳定 Key 并避免随滚动重建;
- 若用 `SliverPersistentHeader`:`shouldRebuild` 仅在 pinned 状态变化时返回 true,delegate 不得在 build 中创建新 Key;
- 滚动到顶/离顶的临界点不要反复抖动(单一阈值 + 状态去重)。
2. 间距收紧:分类 tab 行与工具行之间垂直间距由现状压到 4~6(分类行下方 4、工具行上方 2 以内,合并不超过 6),整体更紧凑;工具行下方到网格间距保持 10~12。
3. 吸顶状态、下划线选中、工具行随列表滚走、下拉刷新位置等 K34-E 行为不变。
**测试/门禁**
- 更新/新增:连续上滑/回顶时分类行 y 稳定、无重复重建(可用 pinned 状态切换次数断言);分类行与工具行垂直间距 ≤ 6;
- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。
**流程**:从 `develop` 拉 `fix/flutter-k34-theater-flicker`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。
---
## [已处理] 2026-10-20 | K34-E 榜单 TOP3 铺满 + 列表补简介;剧场吸顶仅分类行 + 选中指示(仅 App 端)
**用户指令(2026-10-20,原文)**:
+29
View File
@@ -21108,3 +21108,32 @@ Running Gradle task 'assembleDebug'...
```
解读:静态检查零告警,428 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
## 2026-10-20 ReelShort:K34-G 修复剧场分类行上滑闪烁 + 收紧间距
- 分支:`fix/flutter-k34-theater-flicker`
- 功能提交:`d1abfd4 fix(flutter): 修复剧场吸顶分类行闪烁并压缩间距`
- develop 合并提交:`72410b2 merge: 合并 K34-G 剧场吸顶修复`,已推送。
- 吸顶状态改用 `ValueNotifier<bool> _headerPinned`:滚动监听只在阈值状态变化时写值,不再 `setState` 重建整页;`ValueListenableBuilder` 只重建背景层,分类行内容通过 `KeyedSubtree('theater-sticky-content')` 缓存不随滚动重建。
- 分类行与工具行间距:工具行上内边距 10 → 2,分类行下与工具行间隙 ≤6;工具行到网格仍为 12。
- 吸顶背景动效(200ms、ink + 1px 分隔线 + 轻阴影)、下划线选中、工具行滚走、下拉刷新 edgeOffset 52 均保持。
测试:连续上滑两次再回顶,分类行屏幕 y 三次都与初始一致;分类行底与工具行顶间距在 0–6 之间;既有吸顶/下划线/刷新用例继续通过。
门禁原始输出:
```text
$ dart analyze lib test
Analyzing lib, test...
No issues found!
$ flutter test
00:40 +430: All tests passed!
$ flutter build apk --debug
Running Gradle task 'assembleDebug'...
7.1s
✓ Built build/app/outputs/flutter-apk/app-debug.apk
```
解读:静态检查零告警,430 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。