diff --git a/docs/plans/INBOX.md b/docs/plans/INBOX.md index 57a5b61..f6e1a84 100644 --- a/docs/plans/INBOX.md +++ b/docs/plans/INBOX.md @@ -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 留痕;真机验收由用户执行。 diff --git a/docs/plans/PROGRESS.md b/docs/plans/PROGRESS.md index cdb5c2d..423dfa5 100644 --- a/docs/plans/PROGRESS.md +++ b/docs/plans/PROGRESS.md @@ -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`。