温柔两刀
温柔两刀
  • 发布:2022-01-17 10:14
  • 更新:2024-07-24 11:22
  • 阅读:1225

【报Bug】Android自定义启动图,有虚拟按键,启动时splash图往上跳一下的问题。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows10专业版 版本号21H1 内部版本号19043.1466

HBuilderX类型: 正式

HBuilderX版本号: 3.3.5

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: Redmi Note 8 Pro, MIUI 12.0.5

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

// 我的manifest.json配置

"app-plus" : {  
    /* 5+App特有相关 */  
    "usingComponents" : true,  
    "splashscreen" : {  
        "alwaysShowBeforeRender" : true,  
        "waiting" : false,  
        "autoclose" : true,  
        "delay" : 0,  
        "androidTranslucent" : true  
    },

操作步骤:

自定义splash图,在有虚拟按键的手机上,启动时,splash图会往上跳一下。
已经加了"androidTranslucent": true

预期结果:

静止展示自定义的splash图。

实际结果:

splash图出现约零点几秒后,会往上跳一下。

bug描述:

App在真机上,启动时,splash图出现后。过零点几秒后,图会往上跳一下。
分析应该是在有虚拟按键的手机上会出现。

官方在下面相关问题提出的解决方法,实测无效。

manifest.json "app-plus" -> "distribute" -> "splashscreen节点
新增 "androidTranslucent": true 可以解决此问题

2022-01-17 10:14 负责人:无 分享
已邀请:

最佳回复

温柔两刀

温柔两刀 (作者)

解决了,splashscreen有两个节点,"androidTranslucent" : true得放在后一个节点里。

"app-plus" : {  
        "usingComponents" : true,  
        "nvueStyleCompiler" : "uni-app",  
        "compilerVersion" : 3,  
        "splashscreen" : {  
            /* 不能放在这里 */  
            "alwaysShowBeforeRender" : false,  
            "waiting" : false,  
            "autoclose" : false,  
            "delay" : 0  
        },  
        /* 模块配置 */  
        "modules" : {},  
        /* 应用发布信息 */  
        "distribute" : {  
            /* android打包配置 */  
            "android" : {  
                "permissions" : [  
                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",  
                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",  
                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",  
                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",  
                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",  
                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",  
                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",  
                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",  
                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",  
                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",  
                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",  
                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",  
                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",  
                    "<uses-feature android:name=\"android.hardware.camera\"/>",  
                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"  
                ]  
            },  
            /* ios打包配置 */  
            "ios" : {},  
            /* SDK配置 */  
            "sdkConfigs" : {  
                "ad" : {}  
            },  
            "splashscreen" : {  
                "androidStyle" : "default",  
                /* 得放在这里 */  
                "androidTranslucent" : true,  
                "android" : {  
                    "hdpi" : "static/splash.png",  
                    "xhdpi" : "static/splash.png",  
                    "xxhdpi" : "static/splash.png"  
                }  
            }  
        }  
    },
DCloud_Android_DQQ

DCloud_Android_DQQ

需要联系插件作者

  • 温柔两刀 (作者)

    我不是用插件啊。我是uni-app编译的App,自定义splash图,启动时图会跳一下。正好插件市场里有一个splash图的demo,省得我传代码了。

    2022-01-17 13:42

  • DCloud_Android_DQQ

    回复 温柔两刀: 你还是需要提供一下 可以复现问题的demo

    2022-01-18 11:21

  • 温柔两刀 (作者)

    回复 DCloud_Android_DQQ: 源码发到帖子附件里了。

    2022-01-19 13:42

温柔两刀

温柔两刀 (作者)

自定义启动图,在有虚拟按键的手机上就会有这个问题。

温柔两刀

温柔两刀 (作者)

具体跳的时间,是在uni-app弹出获取读写相册的系统权限菜单的时候。
当App第一次运行时,需要获取权限,在获取权限之后,splash图就会往上跳一下。推测是Android系统的虚拟按键栏出现,往上顶了。

DCloud_Android_DQQ

DCloud_Android_DQQ

用你提供的示例,首次安装也没复现问题

视频见附件

温柔两刀

温柔两刀 (作者)

是在屏幕底部有虚拟按键的手机上测试的吗?
论坛里有好几个相关的帖子反映这个情况,我看没有哪个答主说解决了。
我手机上的效果录了一下视频,见附件。

DCloud_Android_DQQ

DCloud_Android_DQQ

论坛里有好几个相关的帖子反映这个情况,我看没有哪个答主说解决了。

如果你说的是

https://ask.dcloud.net.cn/question/121410 这个帖子的话,我可以明确回复你。 这个帖子里有至少四个用户提出问题,我qq联系 确认修复的。 解决办法就是这里帖子里面提到的配置。

只是大部分开发者问题解决后不会回到帖子发言,才给你造成 没有答主回复解决的印象。

DCloud_Android_DQQ

DCloud_Android_DQQ

你的视频我看了,应该是 https://ask.dcloud.net.cn/question/121410一样的
建议参考这个帖子。 配置一下 这个选项注意配置的位置。

5***@qq.com

5***@qq.com

我添加了这个配置也不管用启动是还是顶一下。

  • 5***@qq.com

    改了之后 ,得修改下app版本号 再重新打包。 这样就可以了

    2023-02-28 12:46

2***@qq.com

2***@qq.com

我为啥还是不行啊,还是启动页面向上抖动

要回复问题请先登录注册