我正在使用英特尔XDK开发一个网络应用程序,该应用程序使用Cordova在线构建我的应用程序。 我用启动画面插件添加了一个启动画面。当我启动我的应用程序时会出现启动画面。但是在启动画面显示之前,黑屏首先显示了一段时间。如何让它在没有黑屏的情况下立即显示闪屏。
我用Google搜索了几天......我发现很多人都有这个问题。但似乎解决方案无法帮助我..
我已经尝试将AutoHideSplashScreen设置为false并且SplashScreenDelay = 10000(或更高),并在所有内容准备就绪时隐藏启动画面(app.Ready,deviceready ..)
任何帮助将不胜感激,谢谢。
答案 0 :(得分:2)
1)如果你使用了一些 splashscreen.png ,你可以在 {Project} \ res \ values 下创建android样式文件(例如splashscreen-style.xml)和将splashscreen.png放入 {Project} \ res \ drawable 文件夹(或 drawable-mdpi,drawable-xhdpi ,...),它将自动映射 @绘制/溅射屏幕强>:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="YourThemeName" parent="android:style/Theme.Light.NoTitleBar.Fullscreen">
<item name="android:windowBackground">@drawable/splashscreen</item>
</style>
</resources>
2)应用 config.xml :
<edit-config file="AndroidManifest.xml" mode="merge"
target="/manifest/application/activity">
<activity android:theme="@style/YourThemeName" />
</edit-config>
它必须有效,至少对于 cordova 6.5.0 :)和更有趣的版本。
您还可以看到https://simonerescio.it/en/2014/05/phonegap-android-splashscreen-application
答案 1 :(得分:0)
我有同样的问题,文档有点脱节。
Config.XML确保您拥有以下行。 Android:将超时时间调整到适合的范围。(因为我在DOM中预加载了一些页面,因此对我来说是10000)。
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="10000" />
奥斯:
<preference name="FadeSplashScreen" value="false" />
<preference name="SplashScreen" value="screen" />
<preference name="AutoHideSplashScreen" value="false" />
在Index.Js中
function () {
document.addEventListener('deviceready', onDeviceReady.bind(this), false);
function onDeviceReady() {
setTimeout(function () {
navigator.splashscreen.hide();
}, 50);
}
这使得启动屏幕保持打开状态,直到平台为我准备好。
答案 2 :(得分:0)
经过大量的研究后,我解决了这个问题。
首先转到 intelxdk.config.additions.xml 文件
在顶部添加此行
<preference name="SplashScreenDelay" value="8000" />
//根据您的需要更改值,以毫秒为单位
同时修改FadeSplashScreenDuration(iOS)
`<preference name="FadeSplashScreenDuration" value="8000"/>`
这是完整的代码
<!-- 'value' = number of milliseconds to display the splash screen in a Cordova build. -->
<!-- This preference only affects Cordova builds for Crosswalk and Android. -->
<preference name="SplashScreenDelay" value="8000" />
<platform name="ios">
<!-- below requires the splash screen plugin -->
<!-- docs: https://github.com/apache/cordova-plugin-splashscreen -->
<preference name="AutoHideSplashScreen" value="false" />
<preference name="FadeSplashScreen" value="false"/>
<preference name="FadeSplashScreenDuration" value="8000"/>
<preference name="ShowSplashScreenSpinner" value="true"/>
<!-- below requires the status bar plugin -->
<!-- docs: https://github.com/apache/cordova-plugin-statusbar -->
<!-- see http://devgirl.org/2014/07/31/phonegap-developers-guid -->
<preference name="StatusBarOverlaysWebView" value="false" />
<preference name="StatusBarBackgroundColor" value="#000000" />
<preference name="StatusBarStyle" value="lightcontent" />
</platform>
<platform name="android">
<!-- below requires the splash screen plugin -->
<!-- docs: https://github.com/apache/cordova-plugin-splashscreen -->
<preference name="ShowSplashScreenSpinner" value="true"/>
<preference name="SplashMaintainAspectRatio" value="true" />
</platform>
<!-- use this feature to add command-lines to be used by Crosswalk builds on device -->
<!-- see http://peter.sh/experiments/chromium-command-line-switches/ for complete list -->
<intelxdk:crosswalk xwalk-command-line="--disable-pull-to-refresh-effect" />
<!-- ignore gpu blacklist for larger collection of gpu accelerated devices -->
<intelxdk:crosswalk xwalk-command-line="--ignore-gpu-blacklist" />
答案 3 :(得分:0)
转到confi.xml并尝试此代码。它对我有用。
<access origin="*" />
<preference name="SplashScreen" value="screen"/>
<preference name="UIWebViewBounce" value="false" />
<preference name="DisallowOverscroll" value="true" />
<preference name="SplashScreenDelay" value="5000"/>
<preference name="FadeSplashScreenDuration" value="5000"/>
<preference name="AutoHideSplashScreen" value="true"/>
<preference name="SplashShowOnlyFirstTime" value="false"/>
<preference name="FadeSplashScreen" value="false" />
<!-- Ionic supports Android Jellybean and up -->
<preference name="android-minSdkVersion" value="16" />
<!-- Don't store local data in an iCloud backup. Turn this to "cloud" to enable storage
to be sent to iCloud. Note: enabling this could result in Apple rejecting your app.
-->
<preference name="BackupWebStorage" value="none" />
<feature name="StatusBar">
<param name="ios-package" value="CDVStatusBar" onload="true" />
</feature>
<feature name="SplashScreen">
<param name="ios-package" value="CDVSplashScreen"/>
<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen"/>
<param name="onload" value="true"/>
</feature>
答案 4 :(得分:0)
转到platform / android / AndroidMainfest.xml。 并搜索android:theme =“ android:style / Theme.DeviceDefault.NoActionBar”。
Android will load a blank layout before it loads based on the theme you have set for it. The solution is to the theme of the splash activity to a transparent one.
并将其更改为类似android:theme =“ android:style / Theme.Translucent.NoActionBar”。