我正在使用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图标或简单的灰色空屏幕。
答案 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" />