当Cordova 程序打包并安装到手机中后,我们会发现启动程序时,会有数秒的黑屏现象,常见的解决方法则是设置闪屏画面。
这里以 Android 程序为例,介绍Cordova设置启动画面的方法。
1. 添加动画闪屏支持
打开cmd,进入项目目录下,执行命令:
cordova plugin add org.apache.cordova.splashscreen
2. 制作启动画面图片
根据 platforms\android\res\ 目录下的不同目录下的图片大小,分别制作不同屏幕适应的 png 格式图片,并一一替换。
3. 增加项目配置项
在项目根目录下的config.xml中添加两个配置项:
<preference name=”SplashScreen” value=”splash” />
<preference name=”SplashScreenDelay” value=”30000″ />
第一个配置指定了启动画面的文件名;
第二个设置指定启动画面停留的时间(单位为毫秒)。
4. 增加隐藏闪屏画面处理
当设备就绪后,即可及时隐藏闪屏。在 deviceready 事件处理函数中,加入隐藏闪屏画面的代码。参考如下:
bindEvents: function() { document.addEventListener('deviceready', this.onDeviceReady, false); }, onDeviceReady: function() { app.receivedEvent('deviceready'); navigator.splashscreen.hide(); }
注意:
配置项 SplashScreenDelay 的值建议尽量设置大一些,比如 30000(30秒)。闪屏画面显示时,其他资源文件是按正常情况加载的(即程序不会等到启动画面消失再开始加载),如果设置的delay值太小,比如3000(3秒),而首页加载需要5000(5秒),则有2秒的时间屏幕会处于黑屏状态。所以我们设置的值应大于首页加载时间值时,当设备就绪后隐藏闪屏画面即可。
参考
http://blog.csdn.net/zythy/article/details/22405659
https://github.com/apache/cordova-plugin-splashscreen
加上之后的现象: 先黑屏,之后显示启动画面,之后是正常页面。
LZ的app是无黑屏现象的?
这是几年前的方法了,现在怎么做,你应该去官方项目文档去看看更靠谱:
https://github.com/apache/cordova-plugin-splashscreen/
确实是有启动动画,但是并没有解决问题呢?
现在的现象是先黑屏然后显示启动动画,之后再是页面!
设置大于3000ms 比如9000ms就会出现一个圈圈