docs(plans): 留痕 K60 原生开屏生成

This commit is contained in:
Zhou Weidong committed 2026-10-20 18:52:24 +08:00
1 parent 36cd6a0fcd
commit 0a48d2739a
2 files changed
+56 -16

No files matched your search

+25 -16
View File
@@ -1,23 +1,32 @@
## [已处理] 2026-10-20 | K58-A 开屏改浅色(去掉原生黑屏)+ 自定义开屏文字加深(仅 App 端)
## [已处理] 2026-10-20 | K60-A 用 flutter_native_splash 接管原生开屏(透明观感,无黑屏)(仅 App 端)
**用户指令(2026-10-20,原文)**:
> 「现在安卓端安装的app 图标没有改为最新的 还有原来的启动屏弄成透明的 不然会黑屏 另外 自定义的启动屏的字体看不清」
> 「启动屏用户这flutter_native_splash 把原生的改成透明」
**口径(只改 Flutter / 原生启动资源)**
1. 原生启动不再黑屏:
- `android/app/src/main/res/drawable*/launch_background.xml` 保持仅纯色,但颜色改为与 Flutter 开屏一致的浅暖色 `#FFF8F0`(`splash_background` 同步修改);
- `values-v31` / `values-night-v31` 的 `windowSplashScreenBackground` 一并改成 `#FFF8F0`,`windowSplashScreenAnimatedIcon` 继续使用透明 drawable;
- 这样原生阶段是浅暖底,不会出现黑屏,也与 Flutter 开屏无缝衔接(Android 12 的 splash 背景必须给不透明色,纯透明会被系统渲染成黑色)。
2. Flutter 自定义开屏改浅色主题,解决文字看不清:
- 背景 `AppColors.ink`(#FFF8F0),状态栏深色图标;
- `FruitShorts` 改 `AppColors.onSurface` 28 号 w900;「水果短剧」改 `AppColors.muted` 13 号、字距 4;
- logo 柔光改 `0x33FF7A1A`;转圈保持主题橙;
- 动画时序、Key(splash-screen/splash-brand/splash-tagline/splash-loading)全部保留。
3. 图标无需改图:最新 APK 已重装到 Android 设备(图标资源已在包内);若桌面仍显示旧图标属启动器缓存,重启桌面/重新添加图标即可,代码侧不做处理。
**口径**
1. `dev_dependencies` 增加 `flutter_native_splash`(取当前 pub 稳定版)。
2. `pubspec.yaml` 增加配置(不配置 image,原生阶段不出现任何静态图):
```yaml
flutter_native_splash:
color: "#FFF8F0"
color_dark: "#FFF8F0"
android: true
ios: true
web: false
android_12:
color: "#FFF8F0"
color_dark: "#FFF8F0"
icon_background_color: "#FFF8F0"
```
说明:Android 12 及 iOS 的启动背景必须是实色,纯透明会被系统渲染成黑色;这里用与 Flutter 动画开屏完全一致的 `#FFF8F0`,视觉上就是「无原生开屏、直接进动画」,不存在黑屏。
3. 执行 `dart run flutter_native_splash:create` 生成原生资源:
- Android:`launch_background.xml`、`values-v31`/`values-night-v31` 的 splash 背景统一 `#FFF8F0`,无 image;
- iOS:LaunchScreen.storyboard 仅纯色背景、无 LaunchImage。
4. 清理此前手写的冲突项(如 `drawable/splash_transparent.xml`、自定义 splash_icon 引用);保留 Flutter 动画开屏页(K58-A 浅色版)。
5. 在 README 或 pubspec 注释注明:以后改开屏配置后需重新执行 `dart run flutter_native_splash:create`。
**测试/门禁**
- 更新开屏测试:背景为 `AppColors.ink`、品牌文字颜色为 `AppColors.onSurface`、标语为 `AppColors.muted`;
- 静态检查 `splash_background` 为 `#FFF8F0`;
- 静态检查:生成的 launch_background / v31 styles 背景为 #FFF8F0、无 bitmap;iOS storyboard 无 LaunchImage;
- `dart analyze lib test` 零告警 + `flutter test` 全过 + `flutter build apk --debug`。
**流程**:从 `develop` 拉 `feature/flutter-k58-light-splash`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。
**流程**:从 `develop` 拉 `feature/flutter-k60-native-splash`;作者 `Zhou Weidong <502333560@qq.com>`;`--no-ff` 合回 develop 并 push;PROGRESS 留痕;真机验收由用户执行。
+31
View File
@@ -22069,6 +22069,37 @@ Running Gradle task 'assembleDebug'...
解读:静态检查零告警,471 条测试全部通过,debug APK 构建成功。视频正常播放界面不再出现调试小字,错误诊断仍可通过错误摘要和 Xcode `[video]` 日志获取。
## 2026-10-20 ReelShort:K60-A flutter_native_splash 原生开屏
- 前置状态:K58-A 与 K59-A 均已合并,develop 合并提交分别为 `da54949`、`7c2fd09`。
- 分支:`feature/flutter-k60-native-splash`
- 功能提交:`983e99a feat(flutter): 接入 flutter_native_splash 原生开屏`
- develop 合并提交:`9eec9ed merge: 合并 K60 flutter_native_splash 原生开屏`,已推送。
- `dev_dependencies` 增加当前稳定版 `flutter_native_splash: ^2.4.8`,配置 `color`、`color_dark`、`android_12.color`、`android_12.color_dark`、`icon_background_color` 全部为 `#FFF8F0`,不配置 image;Android/iOS 开启,web 关闭。
- 已执行 `dart run flutter_native_splash:create`。生成器在无 image 时仍会创建 1×1 background/LaunchImage 资源;为满足硬性无图片要求,已清理这些生成图片、Android 12 旧图标、`splash_transparent.xml` 和 iOS LaunchImage 图片集。
- Android 五个 launch_background 均为纯色且无 bitmap,v31/night-v31 背景为 `#FFF8F0`,系统动画图标使用 `@android:color/transparent`;iOS storyboard 仅保留 `#FFF8F0` 背景,无 LaunchImage。
- `pubspec.yaml` 已注明以后修改开屏配置必须重新执行 `dart run flutter_native_splash:create`。K58-A 的 Flutter 浅色动画开屏保持不变。
静态检查:splash 配置五项均为 #FFF8F0;XML 校验通过;Android 资源无 splash_icon/splash_transparent/android12splash/background.png 引用;iOS 无 LaunchImage。
门禁原始输出:
```text
$ dart analyze lib test
Analyzing lib, test...
No issues found!
$ flutter test
00:49 +471: All tests passed!
$ flutter build apk --debug
Running Gradle task 'assembleDebug'...
29.8s
✓ Built build/app/outputs/flutter-apk/app-debug.apk
```
解读:静态检查零告警,471 条测试全部通过,debug APK 构建成功。原生启动只保留浅暖纯色过渡,无静态 logo 或 LaunchImage,随后直接进入 Flutter 动画开屏。
## 2026-10-20 ReelShort:K53-A 详情页首帧直出
- 前置状态:K52-A 已完成并合并,develop 合并提交 `a11ba50`。