Splashscreen
Displays and hides the application's splash screen.
Methods
Accessing the Feature
As of version 3.0, Cordova implements device-level APIs as plugins.
Use the CLI's plugin
command, described in The Command-line
Interface, to add or remove this feature for a project:
$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git
$ cordova plugin rm org.apache.cordova.core.splashscreen
These commands apply to all targeted platforms, but modify the platform-specific configuration settings described below:
Android (in
app/res/xml/config.xml
)<feature name="SplashScreen"> <param name="android-package" value="org.apache.cordova.SplashScreen" /> </feature>
iOS (in
config.xml
)<feature name="SplashScreen"> <param name="ios-package" value="CDVSplashScreen" /> </feature>
Some platforms may support this feature without requiring any special configuration. See Platform Support for an overview.
Setup
Android
Copy the splash screen image into the Android project's
res/drawable
directory. The size for each image should be:- xlarge (xhdpi): at least 960 × 720
- large (hdpi): at least 640 × 480
- medium (mdpi): at least 470 × 320
- small (ldpi): at least 426 × 320
You should use a 9-patch image for your splash screen.
In the
onCreate
method of the class that extendsDroidGap
, add the following two lines:super.setIntegerProperty("splashscreen", R.drawable.splash); super.loadUrl(Config.getStartUrl(), 10000);
The first line sets the image to display as the splashscreen. If you name your image anything other than
splash.png
, you need to modify this line. The second line is the normalsuper.loadUrl
line, but it has a second parameter that specifies a timeout value for the splash screen. In this example the splash screen displays for 10 seconds. To dismiss the splash screen once the app receives thedeviceready
event, call thenavigator.splashscreen.hide()
method.
iOS
Copy your splash screen images into the iOS project's
Resources/splash
directory. Only add the images for the devices you
want to support, such as iPad or iPhone. The size of each image
should be:
- Default-568h@2x~iphone.png (640x1136 pixels)
- Default-Landscape@2x~ipad.png (2048x1496 pixels)
- Default-Landscape~ipad.png (1024x748 pixels)
- Default-Portrait@2x~ipad.png (1536x2008 pixels)
- Default-Portrait~ipad.png (768x1004 pixels)
- Default@2x~iphone.png (640x960 pixels)
- Default~iphone.png (320x480 pixels)
splashscreen.show
Displays the splash screen.
navigator.splashscreen.show();
Description
This method displays the application's splash screen.
Supported Platforms
- Android
- BlackBerry 10
- iOS
- Windows Phone 7 and 8
- Windows 8
Quick Example
navigator.splashscreen.show();
Full Example
<!DOCTYPE html>
<html>
<head>
<title>Splashscreen Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
navigator.splashscreen.show();
}
</script>
</head>
<body>
<h1>Example</h1>
</body>
</html>
splashscreen.hide
Dismiss the splash screen.
navigator.splashscreen.hide();
Description
This method dismisses the application's splash screen.
Supported Platforms
- Android
- BlackBerry 10
- iOS
- Windows Phone 7 and 8
- Windows 8
Quick Example
navigator.splashscreen.hide();
Full Example
<!DOCTYPE html>
<html>
<head>
<title>Splashscreen Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
//
function onDeviceReady() {
navigator.splashscreen.hide();
}
</script>
</head>
<body>
<h1>Example</h1>
</body>
</html>
iOS Quirk
The config.xml
file's AutoHideSplashScreen
setting must be
false
. To delay hiding the splash screen for two seconds, add a
timer such as the following in the deviceready
event handler:
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);