fuguiniao
fuguiniao
  • 发布:58 分钟前
  • 更新:57 分钟前
  • 阅读:10

android 离线打包启动页设置背景图片后退出app重新打开偶尔有bug 见附件视频

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 4.85

手机系统: Android

手机系统版本号: Android 12

手机厂商: 小米

手机机型: 红米K30pro

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
 <activity  
        android:name="io.dcloud.PandoraEntry"  
        android:theme="@style/AppTheme.Splash"  
        android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale"  
        android:hardwareAccelerated="true"  
        android:exported="true"  
        android:windowSoftInputMode="adjustResize">  

<style name="AppTheme.Splash" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowContentOverlay">@null</item>

    <item name="android:windowFullscreen">true</item>  
    <item name="android:windowBackground">@mipmap/splash</item>  
</style>  

操作步骤:

android 离线打包启动页设置背景图片后退出app重新打开偶尔有bug,启动页偶尔会从右侧滑入到左侧,启动页设置的主题如下: <style name="AppTheme.Splash" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowContentOverlay">@null</item>

    <item name="android:windowFullscreen">true</item>  
    <item name="android:windowBackground">@mipmap/splash</item>  
</style>  

@mipmap/splash 是一张空白的图片,只要设置了这个就会有这个问题,如果改成<item name="android:windowBackground">@null</item> 就不会有这个问题,具体见附件视频

预期结果:

设置启动页背景图片后退出打开能正常显示启动页

实际结果:

android 离线打包启动页设置背景图片后退出app重新打开偶尔有bug,启动页偶尔会从右侧滑入到左侧

bug描述:

android 离线打包启动页设置背景图片后退出app重新打开偶尔有bug,启动页偶尔会从右侧滑入到左侧,启动页设置的主题如下: <style name="AppTheme.Splash" parent="Theme.AppCompat.Light.NoActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowContentOverlay">@null</item>

    <item name="android:windowFullscreen">true</item>  
    <item name="android:windowBackground">@mipmap/splash</item>  
</style>  

@mipmap/splash 是一张空白的图片,只要设置了这个就会有这个问题,如果改成<item name="android:windowBackground">@null</item> 就不会有这个问题,具体见附件视频

58 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

这个问题是由于直接在AndroidManifest.xml中设置android:windowBackground导致的启动动画异常。根据知识库文档,uni-app推荐通过manifest.json配置启动界面而非直接修改原生主题。

解决方案:

  1. 移除AndroidManifest.xml中对AppTheme.Splash的自定义设置
  2. 通过manifest.json正确配置启动页:
    • 打开manifest.json → "App启动界面配置"
    • Android平台建议勾选"通用启动界面"(自动处理图标和名称显示)
    • 如需自定义背景,参考启动界面配置文档,使用标准PNG图片(非空白图)

关键原因:

  • 空白背景图会导致系统误判Activity透明度,触发默认切换动画(从右侧滑入)
  • 知识库明确说明:"相关改动,云打包生效,真机运行不生效。本地打包需自行在原生工程中配置"
  • 直接修改原生主题会绕过uni-app的启动管理机制

额外建议:

  • 检查alwaysShowBeforeRender配置(manifest.json源码视图),建议保持默认true确保首页渲染完成后再关闭启动页
  • 确保启动图符合规范:必须是标准PNG,不要用JPG改后缀,Android支持.9.png

请优先使用manifest.json可视化配置启动界面,避免直接修改原生文件。详细配置指南

内容为 AI 生成,仅供参考

要回复问题请先登录注册