Cordova Splash Screen不显示图像

时间:2016-11-09 08:12:15

标签: android cordova

我正在使用Cordova开发一个应用程序,我无法在Android上使用插件“cordova-plugin-splashscreen”(我只在Android上测试过)。

我使用cordova cli工具安装了该插件:

$ cordova plugin add cordova-plugin-splashscreen

这些是与插件相关的config.xml条目:

<platform name="android">
    ...
    <splash src="res/screen/android/splash.png" density="port-hdpi" />
    <splash src="res/screen/android/splash.png" density="port-ldpi" />
    <splash src="res/screen/android/splash.png" density="port-mdpi" />
    <splash src="res/screen/android/splash.png" density="port-xhdpi" />
    <splash src="res/screen/android/splash.png" density="port-xxhdpi" />
    <splash src="res/screen/android/splash.png" density="port-xxxhdpi" />

    <splash src="res/screen/android/splash.png" density="land-hdpi" />
    <splash src="res/screen/android/splash.png" density="land-ldpi" />
    <splash src="res/screen/android/splash.png" density="land-mdpi" />
    <splash src="res/screen/android/splash.png" density="land-xhdpi" />
    <splash src="res/screen/android/splash.png" density="land-xxhdpi" />
    <splash src="res/screen/android/splash.png" density="land-xxxhdpi" />
</platform>
...
<preference name="AutoHideSplashScreen" value="true" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashShowOnlyFirstTime" value="false" />
<preference name="ShowSplashScreenSpinner" value="false" />

而不是显示意图“res / screen / android / splash.png”,而是启动屏幕显示默认的cordova图标或简单的灰色空屏幕。

4 个答案:

答案 0 :(得分:8)

目前推荐的解决方案:

将cordova-android更新到版本6.1.0,此错误不再存在:

$ cordova platform rm android
$ cordova platform add android@6.1.0

解决方法,记录:

&#34;解决&#34;通过手动替换以下资产来解决方法:

platforms/android/res/*

问题似乎是由以下错误引起的:https://issues.apache.org/jira/browse/CB-12077

答案 1 :(得分:1)

补充etoscnyl的答案,使用Cordova 6.4.0时不要输入:

cordova platform add android

相反,请输入:

cordova platform add android@6.1.0

答案 2 :(得分:0)

Try edit your xml like this, for me it working. I had installed this package

cordova plugin add cordova-plugin-splashscreen

And I use this xml, but different images only, this include yours

<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="10000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
<platform name="android">
        <splash src="res/screen/android/splash.png" density="port-hdpi" />
    <splash src="res/screen/android/splash.png" density="port-ldpi" />
    <splash src="res/screen/android/splash.png" density="port-mdpi" />
    <splash src="res/screen/android/splash.png" density="port-xhdpi" />
    <splash src="res/screen/android/splash.png" density="port-xxhdpi" />
    <splash src="res/screen/android/splash.png" density="port-xxxhdpi" />

    <splash src="res/screen/android/splash.png" density="land-hdpi" />
    <splash src="res/screen/android/splash.png" density="land-ldpi" />
    <splash src="res/screen/android/splash.png" density="land-mdpi" />
    <splash src="res/screen/android/splash.png" density="land-xhdpi" />
    <splash src="res/screen/android/splash.png" density="land-xxhdpi" />
    <splash src="res/screen/android/splash.png" density="land-xxxhdpi" />
</platform>

Try use also show() in deviceready event , maybe it will help.

navigator.splashscreen.show();

答案 3 :(得分:0)

在项目中添加此cordova 插件

cordova plugin add cordova-plugin-splashscreen

Android 的启动画面: -

<platform name="android">

<splash src="res/screen/android/splash-land-hdpi.png" density="land-hdpi"/>
<splash src="res/screen/android/splash-land-ldpi.png" density="land-ldpi"/>
<splash src="res/screen/android/splash-land-mdpi.png" density="land-mdpi"/>
<splash src="res/screen/android/splash-land-xhdpi.png" density="land-xhdpi"/>

<splash src="res/screen/android/splash-port-hdpi.png" density="port-hdpi"/>
<splash src="res/screen/android/splash-port-ldpi.png" density="port-ldpi"/>
<splash src="res/screen/android/splash-port-mdpi.png" density="port-mdpi"/>
<splash src="res/screen/android/splash-port-xhdpi.png" density="port-xhdpi"/>

IOS 的Spalsh屏幕: -

<platform name="ios">
<splash src="res/screen/ios/Default~iphone.png" width="320" height="480"/>
<splash src="res/screen/ios/Default@2x~iphone.png" width="640" height="960"/>
<splash src="res/screen/ios/Default-Portrait~ipad.png" width="768" height="1024"/>
<splash src="res/screen/ios/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>
<splash src="res/screen/ios/Default-Landscape~ipad.png" width="1024" height="768"/>
<splash src="res/screen/ios/Default-Landscape@2x~ipad.png" width="2048" height="1536"/>
<splash src="res/screen/ios/Default-568h@2x~iphone.png" width="640" height="1136"/>
<splash src="res/screen/ios/Default-667h.png" width="750" height="1334"/>
<splash src="res/screen/ios/Default-736h.png" width="1242" height="2208"/>
<splash src="res/screen/ios/Default-Landscape-736h.png" width="2208" height="1242"/>

之后将其添加到config.xml页面

<preference name="AutoHideSplashScreen" value="true" />
<preference name="SplashScreenDelay" value="3000" />
相关问题