代码之家  ›  专栏  ›  技术社区  ›  Alex Stanese

在防溅屏电话间隙3.3后删除白色闪烁

  •  7
  • Alex Stanese  · 技术社区  · 11 年前

    如何创建一个应用程序,添加防溅屏插件,当设备准备就绪时防溅屏应该消失,并且没有白色触发器出现??这发生在Adobe build上,也发生在android平台上的cli build上!

    以下是我在一周内反复使用的简单步骤:

    • 我创建了一个应用程序:phonegap创建应用程序
    • 我添加了插件:phonegap本地插件add 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 回复  |  直到 10 年前
        1
  •  6
  •   Joe's Ideas    11 年前

    我添加了 <preference name="SplashScreenDelay" value="10000" /> 到我的config.xml以确保启动屏幕保持打开,然后 navigator.splashscreen.hide() 隐藏它 创建应用程序主页后 (而不是紧接在“deviceready”之后)。如果我把它放在设备就绪后,我会得到一个白色闪光,因为我有条件地更改页面。

    您甚至可以在 navigater.splashscreen.hide() ,到几百毫秒(或任何延迟时间)。

        2
  •  2
  •   null Hitesh Sahu    8 年前

    试试这个,它在s6边缘上运行良好

    <preference name="SplashScreen" value="screen" />
    <preference name="FadeSplashScreen" value="false" />
    <preference name="AutoHideSplashScreen" value="false" />
    <preference name="SplashScreenDelay" value="3000" />
    
        3
  •  0
  •   Suhas Gosavi    11 年前

    试试这个

    配置.xml:

    <preference name="AutoHideSplashScreen" value="false" />
    
    <preference name="SplashScreenDelay" value="10000"/>
    
    <gap:plugin name="org.apache.cordova.splashscreen" />
    

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

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

    document.addEventListener('deviceready', function() {
      navigator.splashscreen.hide();
    });
    
        4
  •  0
  •   loganyu    10 年前

    在应用程序的config.xml中设置这些值

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