新版cordova/phonegap启动画面会淡入淡出怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新版cordova/phonegap启动画面会淡入淡出怎么解决相关的知识,希望对你有一定的参考价值。

参考技术A 在我们做cordova应用的时候,首页加载需要几秒的时间,这时候如果不加启动画面的话可能会刚启动白屏

加上启动画面就会解决这个问题

启动画面插件安装地址

安装完成这个启动画面后,默认会发现有淡入淡出的效果,我们如何配置直接显示启动画面,没有淡入淡出效果呢?

首先找到我们项目下面 res下面的config.xml,然后加入下面两句就可以解决。更多配置参考官方文档

<preference name="FadeSplashScreen" value="false"/> //隐藏淡入淡出

<preference name="SplashScreenDelay" value="5000" /> //设置启动画面事件

<preference name="ShowSplashScreenSpinner" value="false"/> //隐藏启动画面那个laoding图片

在 PhoneGap/Cordova 1.5.0 中显示启动画面

【中文标题】在 PhoneGap/Cordova 1.5.0 中显示启动画面【英文标题】:Showing splash screen in PhoneGap/Cordova 1.5.0 【发布时间】:2012-04-01 21:01:18 【问题描述】:

我正在尝试为我的 PhoneGap/Cordova 本机 iOS 应用程序显示初始屏幕。此行为的默认值或布尔值设置为“YES”。我试图让屏幕显示 2 秒钟。目前,它只显示片刻,然后直接进入应用程序。由于我的应用在启动时不会为网络下载任何数据,因此加载速度非常快。

根据此建议,此解决方案适用于某些人。我正在使用最新的 Cordova 1.5.0 版本:http://shazronatadobe.wordpress.com/2011/09/15/ios-phonegap-splash-screen-control/

我已在 Cordova.plist 中将 AutoHideSplashScreen 设置为“否”,并且正在使用以下代码:

    function onLoad() 
        document.addEventListener("deviceready", onDeviceReady, false);
    
    setTimeout(function() 
               navigator.splashscreen.hide();
               , 2000);

我尝试将 setTimeout 函数放入函数中,但无济于事。像这样:

    function onLoad() 
        document.addEventListener("deviceready", onDeviceReady, false);
    
    function hideSplash() 
        setTimeout(function() 
                   navigator.splashscreen.hide();
                   , 2000);

    

然后在 Body 加载时加载 'hideSplash()'。但无济于事。

我的代码有什么问题吗?

【问题讨论】:

我不想问同样的问题两次,但这个解决方案似乎对我不起作用:***.com/questions/9933988/… “设备就绪”正在触发,因为我也在使用它来检查互联网连接。 【参考方案1】:

好的,我接受了 RespectTheCode 的建议,并从 onLoad 函数中删除了设备就绪事件。这是工作代码。我正在为正在学习的其他人提供完整的代码:

<script>
   document.addEventListener("deviceready", onDeviceReady, false);

    setTimeout(function() 
    navigator.splashscreen.hide();
   , 1000);
</script>

对于不知道的人来说,1000 是一秒。将无法工作少于一秒,即 500。启动画面只是挂起。

当我安装并且应用程序正常工作时,这对我有用,但是,当我重新启动设备 (iPad2) 时,启动屏幕像上一个问题(上一段)一样挂起,并且不会进入应用程序。奇怪的错误。

还有其他人经历过这种情况吗?

我正在使用 Xcode 4.3.1 和 Cordova 1.5.0 构建 iOS 5.1

【讨论】:

【参考方案2】:

我使用的是 Cordova 2.1.0,现在使用的是 2.2.0。 调用 navigator.splashscreen.hide() 时,启动画面没有消失。 使用以下代码,它起作用了:

    private static native void hideSplashScreen() /*-
    $wnd.Cordova.exec(null, null, "SplashScreen", "hide", []);
-*/;

希望对你有帮助

【讨论】:

以上是关于新版cordova/phonegap启动画面会淡入淡出怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap (cordova) 2.4.0 启动画面显示缩小

在 PhoneGap/Cordova 1.5.0 中显示启动画面

如何在启动时更改 phonegap/cordova 状态栏背景(启动画面)?

PhoneGap/Cordova + iOS7 + XCode 5

Phonegap (NOT Cordova) 3.5 示例应用程序未启动 deviceready

Phonegap 2.1 cordova.exec 更新