在splashscreen phonegap 3.3之后删除白色闪烁

时间:2014-02-20 12:21:41

标签: cordova phonegap-plugins phonegap-build cordova-3

如何创建应用程序,添加启动画面插件,当设备准备好并且没有白色闪烁出现时,启动画面应该消失?这种情况发生在Adobe构建以及基于android平台的cli构建上!

这些是我一次又一次地使用的简单步骤,大约一周时间来解决这个问题:

  • 我创建了一个应用:phonegap create app
  • 我添加了插件:phonegap本地插件添加org.apache.cordova.splashscreen
  • 我将此添加到www文件夹中的config.xml文件中:
<feature name="SplashScreen">
    <param name="android-package" value="org.apache.cordova.splashscreen" />
<!--     <param name="onload" value="true" /> -->
</feature>

现在设置了插件。 为了确保在设备被拉扯之后防溅板消失,我添加了:

navigator.splashscreen.hide(); 
在函数onDeviceReady

下的index.js中

通过这些步骤,它可以正常工作。启动画面显示确定,它消失,但会出现白色闪光。为什么发生这种情况?在所有加载之前是否隐藏了闪屏?为什么? 我注意到当我将启动画面设置为一个值例如3秒时,白色闪光灯消失但是我希望它在设备准备就绪时消失,因为我有另一个效果,即设备准备就绪,如果我第二次进入在应用程序中,这加载速度更快,并且启动画面只会停留在不必要的位置,并且效果会在启动画面下发生。

那么如何最终解决这个问题?

我也试过

<preference name="AutoHideSplashScreen" value="false" />

我尝试将身体背景设置为黑色,因为我所说的效果是在应用程序开始时淡出的黑色div。

我也尝试将webview设为黑色

<preference name="backgroundColor" value="0x000000" />

一切都没有运气。

我该如何解决这个问题?我认为最简单的方法是将webview设置为黑色但我的偏好命令不起作用。

4 个答案:

答案 0 :(得分:6)

我在我的config.xml中添加<preference name="SplashScreenDelay" value="10000" />以确保启动屏幕保持打开状态,然后navigator.splashscreen.hide()在我的应用主页创建后隐藏 (而不是立即在'deviceready'之后)。如果我在设备准备好之后把它放好,我会得到一个白色闪光,因为我有条件地改变页面。

你甚至可以在navigator.splashscreen.hide()上做一个setTimeout,几百毫秒(或任何延迟时间)。

答案 1 :(得分:2)

试试这个,它在s6边缘正常工作

<preference name="SplashScreen" value="screen" />
<preference name="FadeSplashScreen" value="false" />
<preference name="AutoHideSplashScreen" value="false" />
<preference name="SplashScreenDelay" value="3000" />

答案 2 :(得分:0)

试试这个

<强> config.xml中:

<preference name="AutoHideSplashScreen" value="false" />

<preference name="SplashScreenDelay" value="10000"/>

<gap:plugin name="org.apache.cordova.splashscreen" />

Android似乎没有AutoHide参数。 我们将手动隐藏它。

需要在config.xml中添加插件引用才能使javascript代码navigator.splashscreen.hide();正常工作。

document.addEventListener('deviceready', function() {
  navigator.splashscreen.hide();
});

答案 3 :(得分:0)

在app的config.xml中设置这些值

<preference name="FadeSplashScreen" value="true" />
<preference name="FadeSplashScreenDuration" value="1.5" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="SuppressesIncrementalRendering" value="true" />