我无法加载启动画面图像?它闪烁白色,然后变黑,几秒后应用程序加载。我的config.xml如下:
我正在使用面向Android的Cordova 5.0.0构建。我已经从PhoneGap移植了我的应用程序,在那里它成功构建并且启动画面工作。
config.xml中
<platform name="android">
<splash src="www/images/openingscenehdpi.png" density="hdpi"/>
<splash src="www/images/openingsceneldpi.png" density="ldpi"/>
<splash src="www/images/openingscenemdpi.png" density="mdpi"/>
<splash src="www/images/openingscenexhdpi.png" density="xhdpi"/>
<preference name="android-minSdkVersion" value="14"/>
<preference name="android-targetSdkVersion" value="19"/>
<preference name="SetFullscreen" value="true"/>
<preference name="orientation" value="landscape"/>
</platform>
在阅读了所有其他类似问题后,我未能成功尝试以下操作,所有这些都没有导致应用行为发生变化:
- 只有标签内的启动元素
- 添加首选项名称=&#34; SplashScreen&#34;值=&#34;屏幕&#34;内部和外部平台标签
- 添加首选项名称=&#34; SplashScreen&#34;值=&#34;溅&#34;内部和外部平台标签
- 直接将文件添加到platforms / android / res
中的文件夹中- 将spashscreen javscipt添加到index.html
醇>
我已按照文档并尝试了其他建议,现在我完全难过了..
有人可以帮忙吗?
答案 0 :(得分:10)
固定! 缺少文档,您必须安装插件:
cordova plugin add cordova-plugin-splashscreen
在项目的根目录下有一个res文件夹,其中的文件位于正确的文件夹中(config.xml旁边),以及config.xml中的以下内容:
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="5000" />
<preference name="SplashMaintainAspectRatio" value="true|false" />
<platform name="android">
<splash src="res/drawable-hdpi/screen.png" density="hdpi"/>
<splash src="res/drawable-ldpi/screen.png" density="ldpi"/>
<splash src="res/drawable-mdpi/screen.png" density="mdpi"/>
<splash src="res/drawable-xhdpi/screen.png" density="xhdpi"/>
<splash src="res/drawable-xhdpi/screen.png" density="xxhdpi"/>
<splash src="res/drawable-xhdpi/screen.png" density="xxxhdpi"/>
</platform>
答案 1 :(得分:0)
在@Ben Jones的回答基础上,我添加了以下Javascript来隐藏我应用中某个点的启动画面,我知道显示HTML内容是安全的。如果省略此步骤,则启动屏幕将显示任意时间量(示例XML中为5秒)。
navigator.splashscreen.hide();
脚注:我在本地浏览器中测试我的应用程序,所以我也检查插件是否存在,但这是可选的:
if (navigator.splashscreen)
navigator.splashscreen.hide();
答案 2 :(得分:0)
我尝试了此页面中的解决方案但仍然无法为我工作。我不知道是不是因为我的Android或Cordova版本。我尝试和工作的(前两个步骤与此问题中的其他解决方案类似,不同之处在于3 rd 点):
安装启动画面插件:
cordova plugin add cordova-plugin-splashscreen
在onDeviceReady
函数的开头添加此行:
navigator.splashscreen.show();
并且该行在同一函数的末尾(当所有加载完成时):
navigator.splashscreen.hide();
定义指示横向或纵向的每个密度闪屏(在我的情况下,我为所有这些使用相同的图像):
<splash src="www/img/splash.png" density="land-hdpi"/>
<splash src="www/img/splash.png" density="land-ldpi"/>
<splash src="www/img/splash.png" density="land-mdpi"/>
<splash src="www/img/splash.png" density="land-xhdpi"/>
<splash src="www/img/splash.png" density="port-hdpi"/>
<splash src="www/img/splash.png" density="port-ldpi"/>
<splash src="www/img/splash.png" density="port-mdpi"/>
<splash src="www/img/splash.png" density="port-xhdpi"/>
这是config.xml
文件在与初始屏幕相关的部分中的显示方式:
<preference name="SplashScreen" value="screen" />
<preference name="SplashScreenDelay" value="5000" />
<preference name="FadeSplashScreen" value="false"/>
<platform name="android">
<allow-intent href="market:*" />
<splash src="www/img/splash/splash.png" density="land-hdpi"/>
<splash src="www/img/splash/splash.png" density="land-ldpi"/>
<splash src="www/img/splash/splash.png" density="land-mdpi"/>
<splash src="www/img/splash/splash.png" density="land-xhdpi"/>
<splash src="www/img/splash/splash.png" density="port-hdpi"/>
<splash src="www/img/splash/splash.png" density="port-ldpi"/>
<splash src="www/img/splash/splash.png" density="port-mdpi"/>
<splash src="www/img/splash/splash.png" density="port-xhdpi"/>
</platform>
(启动画面在5秒之前隐藏,因为我将其隐藏在onDeviceReady
功能的末尾)