如何创建应用程序,添加启动画面插件,当设备准备好并且没有白色闪烁出现时,启动画面应该消失?这种情况发生在Adobe构建以及基于android平台的cli构建上!
这些是我一次又一次地使用的简单步骤,大约一周时间来解决这个问题:
<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设置为黑色但我的偏好命令不起作用。
答案 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" />