diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index 28a06b7..f1c1712 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -1,3 +1,25 @@ +## [已处理] 2026-10-20 | K34-G 修复剧场分类 tab 上滑闪烁 + 收紧 tab 与工具行间距(仅 App 端) + +**用户指令(2026-10-20,原文)**: +> 「1还有我上滑的时候 全部哪里的tab 会闪一下 把这个修复 2全部哪里与下面筛选的间距太大了」 + +**口径(只改 Flutter,不动后端、不改接口)** +1. 消除吸顶分类行上滑闪烁: + - 根因按「滚动阈值触发 setState 导致整块吸顶头重建 / 背景动画与列表同帧抖动」处理; + - 用 `ValueNotifier 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,原文)**: diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index 3bf0f34..3f527de 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -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 _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` 变更未纳入本批提交。真机验收由用户执行。