返回 导航

Cordova

hangge.com

Cordova - 设置应用程序的启动画面(Splash screens)

作者:hangge | 2016-06-20 08:40
使用Cordova开发跨平台应用,默认情况下刚进入App时显示的启动页面如下:

下面介绍如何修改启动画面。

1,首先要安装Splashscreen插件
执行如下命令安装 Splashscreen(闪屏)插件:
cordova plugin add cordova-plugin-splashscreen

2,在 config.xml 文件里的 platform 节点中进行配置
(1)各个平台下的启动画面是分别配置的。支持平台:android、ios、wp8、windows8、blackberry10。
(2)设置图片路径后必须结合 SplashScreenDelay 来设置启动页的显示时间。(下面样例表示启动页显示5秒后才进入主页。)
<platform name="android">
    <!-- you can use any density that exists in the Android project -->
    <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"/>
</platform>

<platform name="ios">
    <!-- images are determined by width and height. The following are supported -->
    <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"/>
</platform>

<platform name="windows">
    <!-- images are determined by width and height. The following are supported -->
    <splash src="res/screen/windows/splashscreen.png" width="620" height="300"/>
    <splash src="res/screen/windows/splashscreenphone.png" width="1152" height="1920"/>
</platform>

<platform name="blackberry10">
    <!-- Add a rim:splash element for each resolution and locale you wish -->
    <!-- http://developer.blackberry.com/html5/documentation/rim_splash_element.html -->
    <rim:splash src="res/screen/blackberry/splashscreen.png"/>
</platform>

<preference name="SplashScreenDelay" value="5000" />

3,不显示启动画面
如果不想显示任何启动画面,让程序运行后直接进入主页,可以将 SplashScreenDelay 设置为 0
<preference name="SplashScreenDelay" value="0" />

4,隐藏spinner进度条
默认情况下,启动页中间位置会有个菊花状的旋转进度条(这里我用一张蓝色的图片做启动图片)。
如果不需要,可以通过如下配置将其隐藏。
<preference name="ShowSplashScreenSpinner" value="false"/>

5,去除启动页淡出效果
默认情况下,当启动页显示时间结束的时候。启动画面会有淡出的效果。 

如果想让其直接消失,可以进行如下配置。
<preference name="FadeSplashScreen" value="false"/>
当然,我们如果只想调整其淡出效果的持续时间(默认是500毫秒),可以进行如下配置。
<preference name="FadeSplashScreenDuration" value="750"/>

6,手动控制启动页的隐藏
默认情况下,启动画面展示时间一到就会自动消失。有时我们需要其不要自动消失,而是在程序中进行控制。比如等到页面初始化加载数据完毕后再将其隐藏。具体实现步骤如下:
(1)首先在配置中将自动隐藏设为 false
<preference name="AutoHideSplashScreen" value="false" />
<preference name="FadeSplashScreen" value="false"/>
(2)html页面中,在需要的地方使用如下js方法隐藏启动页。
navigator.splashscreen.hide();
评论

全部评论(0)

回到顶部