 lanterngamescnandClaude Opus 4.8
|
db206068c0
|
修复大厅启动页→H5"白闪+二次显示 splash":启动图覆盖层上移到根层
现象:大厅资源下载完成、splash 进度满后,进入 H5 前先闪一下白屏、又重新
显示一次 splash 背景图,才进 H5(真机 nova 14 复现)。
根因:原启动图视觉随 SplashPage 渲染,replacePathByName 切到
BridgeGameContainer 时,旧页销毁与新页 Web 首帧之间存在导航空隙(白闪);
而 BridgeGameContainer 自带的大厅 cover 又在切换后重新挂载,看起来像"第二次
splash"。两者皆因视觉绑定在会被切换/重建的页面上、与时序耦合。
修法(H5 零改动,纯原生):
- 启动图 + 金色进度条整体上移到 Index 根层 Stack 覆盖层,由 AppStorage
KEY_SPLASH_VISIBLE 控制,从 app 启动持续显示到大厅首帧上屏(onPageEnd)才撤。
- SplashPage 退化为纯启动逻辑载体(透明 NavDestination),仅把进度/文案/
阻断写入 AppStorage 供根层覆盖层呈现。
- BridgeGameContainer 移除自带大厅 cover,onPageEnd 置 splashVisible=false。
SplashPage→BridgeGameContainer 的页面切换由此发生在常驻覆盖层之下,时序无关,
彻底消除导航空隙白闪与二次 splash,大厅就绪即直接显示 H5。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-27 08:57:30 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
5cfb68209c
|
修复启动页横屏下进度条/提示文字与 logo 重叠
auto_rotation_landscape 横屏时屏幕高为短边,原 padding bottom 56vp 约占 17%,
配合 FlexAlign.End 把进度块顶进居中 logo 的英文行。改为底边距 24vp,
使进度条+提示文字以底部为基准、落在 logo 下方空白带(系统手势条由安全区避让)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-27 01:39:49 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
f839c5b413
|
启动页:阶段提示文字移到进度条下方
SplashPage 覆盖层顺序调整为 进度条 → 阶段文案(原为文案 → 进度条)。模拟器验证通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 20:49:08 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
2702b619a7
|
启动改为:纯白启动窗 → 全屏 splash 启动图
- startWindowIcon 改为透明图 start_window_blank.png(108×108),系统启动窗仅剩白底 → 纯白屏
(顺带消除 startWindowIcon 超 144px 限制的构建警告)。
- SplashPage 恢复用全屏启动图 launch_image(ImageFit.Cover)+ navy 阶段文案 + 金色进度条。
- 删除不再引用的 startIcon.png。
时序:纯白启动窗 → 淡入全屏启动图(大 logo)+进度。系统窗无 logo,不存在两套资源比例不一致问题。
模拟器验证:首屏纯白,随后全屏启动图 + "准备游戏资源/正在下载更新NN%"。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 20:46:08 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
4877e13f9a
|
闪屏一致性修复:SplashPage 复刻系统启动窗,消除两屏比例不一致
根因(代码层面):启动有两套不同资源/渲染的"闪屏":
- 系统启动窗(module.json5 startWindowIcon=$media:startIcon):1024×1024 方形(1:1),系统居中按图标尺寸渲染;
- ArkUI 闪屏(SplashPage):launch_image 2436×1125 横图(2.17:1),ImageFit.Cover 全屏铺满,logo 明显更大。
两套资源宽高比与 logo 占比都不同、渲染机制不同 → 同一 logo 两屏尺寸/比例不一致,切换跳变;
且系统启动窗图标尺寸系统固定、无法放大到全屏,只能让 ArkUI 闪屏向系统启动窗看齐。
修复:SplashPage 改为白底 + 居中显示**同一个 startIcon**(同资源/同宽高比/同位置),进度条置底。
两屏视觉一致,切换无跳变。(模拟器实测:系统启动窗在该机型渲染为纯白,序列为
白底→白底+logo淡入+进度,全程白底、logo 单次出现尺寸恒定。)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 20:30:38 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
ccf5a2acec
|
启动闪屏体验修复:品牌启动窗 + 阶段中文文案 + 白底可见的进度条
针对"首屏白底系统窗、闪屏文字不可见、缺阶段提示"修复:
- startWindowIcon(startIcon.png) 由 DevEco 默认蓝色图标换成与闪屏一致的品牌 logo
(白底+金色游戏手柄+快乐游戏健康生活),系统启动窗与 SplashPage 无缝衔接,消除白屏突兀感。
- SplashPage:
- 修复白色文字在白底闪屏上不可见的问题,改用品牌 navy 文字 + 金色进度条/加载圈。
- 各启动阶段展示中文文案:读取本地配置/检测网络权限/获取配置文件/检测升级版本/
准备游戏资源/正在下载更新NN%/即将进入大厅;下载阶段进度条实时推进。
模拟器验证:系统启动窗=白底金 logo;SplashPage 0.4s 显示"准备游戏资源35%",
下载期显示"正在下载更新69%"金色进度条。
注:网络/震动/传感器为 normal 级权限,安装即授予、无运行期弹窗(HarmonyOS 正常行为,非缺陷);
定位为 user_grant,按设计在 H5 首次调用定位能力时才弹窗,启动期不申请。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 18:07:35 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
4b671c7437
|
素材接入:分享面板图标 + 启动闪屏 + App 图标(从 docs/Res 拷入)
- 分享图标:shareWechat/QQ/Douyin@3x → entry media,SharePanel 颜色块占位替换为
真实图标 Image($r('app.media.share_*'))
- 启动闪屏:LaunchImage(2436x1125 横屏) → launch_image,SplashPage 改为全屏背景图
+ 底部叠加启动进度/公告(白字)
- App 图标:AppIcon 替换 AppScope/entry 的 layered_image foreground 前景层
docs/Res 为只读原始素材库,按需拷入;显示效果待真机/模拟器确认
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-26 12:24:42 +08:00 |
|
lanterngamescn
|
2b0bd1f392
|
M2(容器+能力骨架+启动接线): CapabilityProvider/Registrar/AppModule + BridgeGameContainer 完整化 + Splash 接编排
T-M2-13 能力插件框架骨架:CapabilityProvider/CapabilityContext 接口、CapabilityRegistrar(批量注册+生命周期转发)、
组装根 AppModule.buildCapabilities()(唯一知道全部能力处)、EchoSampleProvider 样板
T-M2-10 BridgeGameContainer 完整化:经 Registrar 注册能力(替换内联 handler)、首次进度 100% 推 appservice/setPostUrl、
加载 params.entryUrl(回退 test_echo)、前后台 EventBus 联动、aboutToDisappear 全量清理;getContext→getHostContext 去弃用
SplashPage:进入即跑 StartupOrchestrator,完成 replace 进大厅、showmessage 阻断弹公告、进度条
内置测试大厅 rawfile/gamehall_builtin.zip(gamehall/index.html+data/test.json+version.xml,正斜杠标准 zip),
作 M2 端到端 + V2(file:// XHR) 离线验证页;真实大厅由远程 zip 在生产下发
devecocli build 通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 18:36:59 +08:00 |
|
 lanterngamescnandClaude Opus 4.8
|
7fb0c194f7
|
M0: App 入口与路由壳(T-M0-07)
框架 §4 路由骨架,Navigation + NavPathStack:
- AppRoutes:路由名(Splash/BridgeGame/GenericWeb)、容器参数类型、前后台事件名
- Index:@Entry 导航宿主,初始进 Splash,navDestination 按名分发
- SplashPage:启动引导壳(weclomeactivity1),replacePathByName 进大厅
- BridgeGameContainer:大厅容器壳(webviewActivity),pushPathByName+onPop 演示
打开通用网页并接收 101 回传
- GenericWebContainer:通用网页容器壳(openwebActivity1),pop(result) 模拟
backgameData 带数据返回(§11.2 结果码 101 语义)
- EntryAbility:onForeground/onBackground 经 EventBus 广播应用前后台事件
(M3 容器订阅后 callHandler('appservice','1'/'2'))
- build 编译通过
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-25 07:44:57 +08:00 |
|