1) 制作启动画面图片或icon
ionic resources //同时生成icon和splash
ionic resources --icon //只生成icon
ionic resources --splash //只生成splash
如果生成的icon/splash有损坏,cordova build android的时候会报错,解决办法就是重新生成或者另外ps一张;
2) 在项目根目录下的config.xml中添加两个配置项:
<preference name="SplashScreen"value="splash" />
<preferencename="SplashScreenDelay" value="30000" />
其中,第一个配置指定了启动画面的文件名;第二个设置指定启动画面停留的时间(单位为毫秒)。
3) 在首页添加处理函数:
document.addEventListener("deviceready",onDeviceReady,false);
//Cordova加载完成会触发
function onDeviceReady(){
navigator.splashscreen.hide();
}
上面配置项SplashScreenDelay的值建议尽量设置大一些,比如20000(20秒)。按照我的理解,启动画面显示时,首页仍然是按正常情况在加载(即程序不会等到启动画面消失再开始加载首页);如果设置的delay值太小,比如3000(3秒),而首页加载需要5000(5秒),则有2秒的时间屏幕会处于黑屏状态。设置的值大于首页加载时间值时,红色代码的那一行将提前隐藏启动画面。