docs(plans): 留痕 K34-A 剧场页精致化
This commit is contained in:
1 parent
a80a0ed4ca
commit
041d97a0a3
2 files changed
+65
No files matched your search
@@ -1,3 +1,38 @@
|
|||||||
|
## [已处理] 2026-10-20 | K34-A 剧场页:搜索框精致化 + 筛选区固定吸顶动效 + 下拉刷新精致化(仅 App 端)
|
||||||
|
|
||||||
|
**用户指令(2026-10-20,原文)**:
|
||||||
|
> 「1现在改剧场页面 上面的搜索框ui 优化下 不够精致 2 然后下面的搜索条件要固定 上滑时要有动效 3下拉刷新 要精致些 不是整个页面的刷新」
|
||||||
|
|
||||||
|
**现状**(`lib/pages/discover/discover_view.dart`)
|
||||||
|
- 搜索框与分类 tab、工具按钮行都放在 `ListView` 内,上滑会一起滚走;
|
||||||
|
- 下拉刷新用整页 `RefreshIndicator`,转圈出现在页面顶部中线,观感粗糙;
|
||||||
|
- 搜索框为纯白填充 + 大圆角,缺少描边/焦点态/阴影细节。
|
||||||
|
|
||||||
|
**口径(只改 Flutter,不动后端、不改接口)**
|
||||||
|
|
||||||
|
1. 搜索框精致化(Key `discover-search` 不变)
|
||||||
|
- 高 40、圆角 20、白底、1px `AppColors.border` 描边、轻微阴影 `0x0DFF8A3D` blur 10 offset(0,4);
|
||||||
|
- 左侧放大镜 17 `AppColors.subtle`,与文字间距 8;hint/输入 13.5,hint 色 `AppColors.subtle`;
|
||||||
|
- 聚焦态:描边变 `AppColors.blue`、阴影加深(`0x1AFF8A3D`),过渡 160ms;失去焦点恢复;
|
||||||
|
- 左右内边距 14,右侧无额外按钮。
|
||||||
|
2. 筛选区固定 + 吸顶动效
|
||||||
|
- 把「分类 tab 行 + 工具按钮行」合并成一个吸顶头:`CustomScrollView` + `SliverPersistentHeader(pinned: true)`(或页面 Stack 固定层 + 滚动监听,二选一,保证上滑时这两行原地不动);
|
||||||
|
- 动效:滚动偏移 > 0 后,吸顶头背景由透明渐变为 `AppColors.ink`(`AnimatedContainer` 200ms),底部出现 1px `AppColors.border` 分隔线与轻微阴影;回到顶部恢复透明;
|
||||||
|
- 分类 tab 自身仍可横向滚动;网格在其下方滚动;页面下拉刷新时吸顶头保持固定。
|
||||||
|
3. 下拉刷新精致化(不是整页刷新)
|
||||||
|
- 刷新指示器改为紧凑样式:直径 20 的 `CircularProgressIndicator(strokeWidth: 2)`(主色),出现位置在吸顶头下方(`edgeOffset` = 吸顶头高度 + 8),不覆盖整页、不出现全屏 loading;
|
||||||
|
- 刷新时保留现有列表内容与滚动位置,不清空网格、不切到空态/骨架;数据仍走 `categories.load`,但只有在首屏为空时才允许整块 loading;
|
||||||
|
- 松手后指示器平滑收起(`RefreshIndicator` 自带动画即可)。
|
||||||
|
4. 其它不变:搜索态结果页、分类切换、工具按钮行为、双列卡片、底部导航。
|
||||||
|
|
||||||
|
**测试/门禁**
|
||||||
|
- 更新/新增:搜索框焦点态描边为主题色;上滑 200px 后分类 tab 与工具按钮屏幕 y 不变且出现吸顶背景;下拉时出现 20px 紧凑指示器且网格条目仍存在;
|
||||||
|
- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。
|
||||||
|
|
||||||
|
**流程**:从 `develop` 拉 `feature/flutter-k34-theater-polish`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [已处理] 2026-10-20 | K33-K 首页 feed 顶栏(tab/刷新/搜索)固定悬浮,不随滑动移动(仅 App 端)
|
## [已处理] 2026-10-20 | K33-K 首页 feed 顶栏(tab/刷新/搜索)固定悬浮,不随滑动移动(仅 App 端)
|
||||||
|
|
||||||
**用户指令(2026-10-20,原文)**:
|
**用户指令(2026-10-20,原文)**:
|
||||||
|
|||||||
@@ -20931,3 +20931,33 @@ Running Gradle task 'assembleDebug'...
|
|||||||
```
|
```
|
||||||
|
|
||||||
解读:静态检查零告警,416 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
|
解读:静态检查零告警,416 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
|
||||||
|
|
||||||
|
## 2026-10-20 ReelShort:K34-A 剧场页搜索精致化 + 筛选吸顶 + 下拉刷新
|
||||||
|
|
||||||
|
- 分支:`feature/flutter-k34-theater-polish`
|
||||||
|
- 功能提交:`5283ab2 feat(flutter): 剧场页搜索与吸顶筛选精致化`
|
||||||
|
- develop 合并提交:`63ace3b merge: 合并 K34-A 剧场页精致化`,已推送。
|
||||||
|
- 搜索框:高 40、圆角 20、白底 + 1px `AppColors.border` + 轻阴影;图标 17、hint 13.5;聚焦时描边主题橙、阴影加深,`AnimatedContainer` 160ms 过渡;Key `discover-search` 不变,新增外壳 Key `discover-search-shell`。
|
||||||
|
- 分类 tab + 工具按钮合并为吸顶头 `theater-sticky-header`:放在滚动区外的 Stack 顶层(列表顶部预留 102 头高),滚动时原地不动;`offset > 0` 时背景 200ms 渐变为 `AppColors.ink` + 底部 1px 分隔线 + 轻阴影,回顶恢复透明;分类 tab 仍横向滚动。
|
||||||
|
- 下拉刷新:`RefreshIndicator` 主色、`strokeWidth: 2`、`edgeOffset = 102 + 8`;刷新时保留网格与滚动位置,只有首屏为空才显示整块 loading。
|
||||||
|
- 其余(搜索态、分类切换、工具按钮、卡片、底栏)未变。
|
||||||
|
|
||||||
|
测试:搜索框圆角/边框与聚焦变蓝;滑动后吸顶头位置不变且背景变 ink;刷新指示器颜色/strokeWidth/edgeOffset 断言。
|
||||||
|
|
||||||
|
门禁原始输出:
|
||||||
|
|
||||||
|
```text
|
||||||
|
$ dart analyze lib test
|
||||||
|
Analyzing lib, test...
|
||||||
|
No issues found!
|
||||||
|
|
||||||
|
$ flutter test
|
||||||
|
00:49 +419: All tests passed!
|
||||||
|
|
||||||
|
$ flutter build apk --debug
|
||||||
|
Running Gradle task 'assembleDebug'...
|
||||||
|
12.2s
|
||||||
|
✓ Built build/app/outputs/flutter-apk/app-debug.apk
|
||||||
|
```
|
||||||
|
|
||||||
|
解读:静态检查零告警,419 条测试全部通过,debug APK 构建成功。工作区原有 `pubspec.lock` 变更未纳入本批提交。真机验收由用户执行。
|
||||||
Reference in new issue
Block a user