docs(plans): 留痕 K31-D 首页频道吸顶

This commit is contained in:
Zhou Weidong committed 2026-10-20 12:56:27 +08:00
1 parent 02a675a07c
commit 4aa80d0fc7
2 files changed
+57

No files matched your search

+29
View File
@@ -20363,3 +20363,32 @@ Running Gradle task 'assembleDebug'...
```
解读:静态检查零告警,401 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
## 2026-10-20 ReelShort:K31-D 首页频道行滚动吸顶
- 分支:`feature/flutter-k31-sticky-channels`
- 功能提交:`7cc65b7 feat(flutter): 首页频道行滚动吸顶`
- develop 合并提交:`8e2cd5c merge: 合并 K31-D 首页频道吸顶`,已推送。
- `home_browse_view.dart`:频道行从 ListView 内容移出,`_body` 改为 `Stack`;底层 `Positioned.fill(RefreshIndicator + ListView(controller))`,顶层 `Positioned(top:0)` 放频道层,初始仍悬浮在轮播图上。
- `ScrollController` 监听偏移:`offset >= heroBannerHeight - 44`(196)切吸顶态——背景 `AppColors.ink` + 底部 1px 分隔线,未选中 `AppColors.muted`,选中仍为 `AppColors.blue`,并挂 `home-channels-pinned`;未过阈值保持透明叠加配色(未选中 white70、选中主题色)。
- 无 banner 时频道行始终吸顶并使用非叠加配色;`HomeBrowseHeader`、刷新逻辑与既有 Key 未动。
- 频道行外层加纵向拖动转发(`onVerticalDragUpdate` 手动滚动页面列表),自身横向滚动不受影响,纵向手势不会被挡住。
- 测试:改写 K31-B 叠加用例(频道层不在 `home-browse-page` 内、top 与 hero 顶部一致、无 pinned key);新增 `should_pin_home_channels_when_scrolling`:上滑 300 后 `home-channel-hot` 的屏幕 y 不变且出现 `home-channels-pinned`。
门禁原始输出:
```text
$ dart analyze lib test
Analyzing lib, test...
No issues found!
$ flutter test
00:36 +402: All tests passed!
$ flutter build apk --debug
Running Gradle task 'assembleDebug'...
7.1s
✓ Built build/app/outputs/flutter-apk/app-debug.apk
```
解读:静态检查零告警,402 条测试全部通过(较 K31-C 新增 1 条吸顶用例),debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。