MCPcopy Index your code
hub / github.com/apache/cordova-plugin-splashscreen

github.com/apache/cordova-plugin-splashscreen @6.0.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 6.0.2 ↗ · + Follow
26 symbols 63 edges 6 files 4 documented · 15% 4 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

title: Splashscreen description: Control the splash screen for your app.


cordova-plugin-splashscreen

Android Testsuite Chrome Testsuite Lint Test

This plugin displays and hides a splash screen while your web application is launching. Using its methods you can also show and hide the splash screen manually.

Installation

// npm hosted (new) id
cordova plugin add cordova-plugin-splashscreen

// you may also install directly from this repo
cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git

Supported Platforms

  • Android Note: Android implementation has been moved to the core framework. If using cordova-android@10.x or earlier, use cordova-plugin-splashscreen@6.x If using cordova-android@11.x or later and exclusively developing for Android, this plugin can be uninstalled.
  • Windows (cordova-windows version >= 4.4.0 is required)
    Note: Extended splashscreen does not require the plugin on Windows (as opposed to Android) in case you don't use the plugin API, i.e. programmatic hide/show.
  • Browser

Platform Splash Screen Image Configuration

Example Configuration

In the top-level config.xml file (not the one in platforms), add configuration elements like those specified here.

The value of the "src" attribute is relative to the project root directory and NOT to the www directory (see Directory structure below). You can name the source image file whatever you like. The internal name in the application is automatically determined by Cordova.

Directory structure:

projectRoot
    hooks
    platforms
    plugins
    www
        css
        img
        js
    res
        screen
            android
            windows
<platform name="android">
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-hdpi.png" density="land-hdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-ldpi.png" density="land-ldpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-mdpi.png" density="land-mdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-xhdpi.png" density="land-xhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-xxhdpi.png" density="land-xxhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-xxxhdpi.png" density="land-xxxhdpi" />

    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-hdpi.png" density="port-hdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-ldpi.png" density="port-ldpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-mdpi.png" density="port-mdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-xhdpi.png" density="port-xhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-xxhdpi.png" density="port-xxhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-xxxhdpi.png" density="port-xxxhdpi" /> 
</platform>


<platform name="windows">
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/windows/splashscreen.png" target="SplashScreen"/>
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/windows/splashscreenphone.png" target="SplashScreenPhone"/>
</platform>




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

Android-specific Information

To effectively create your Android SplashScreen assets, it is important to understand the idiom and sizes used for the assets.

Android defined its assets by the image's layout and density.

Image Layout

  • land short for landscape mode
  • port short for portrait mode

density

The image's density refers to the number of pixels per square inch. Android, interchangeably refers to this as DPI.

Not all devices have the same pixel size so it is important to create images for all DPI to ensure that the quality of the image for each device is great.

If not all DPI images are considered, some devices might not show a SplashScreen or will use an incorrect DPI image that can result in a blurry scaled image.

Image Sizing Table

size portrait landscape
ldpi 200x320 320x200
mdpi 320x480 480x320
hdpi 480x800 800x480
xhdpi 720x1280 1280x720
xxhdpi 960x1600 1600x960
xxxhdpi 1280x1920 1920x1280

Dark Mode (API 28+)

You can optionally provide an extra SplashScreen image to be used in dark/night mode when enabled on supported devices. To do this, add the -night keyword in between the layout and size keywords of the image's density attribute value. E.g.: land-night-hdpi

For more examples, please see the Example Configuration section.

Example Android Configuration

<platform name="android">

    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-hdpi.png" density="hdpi"/>
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-ldpi.png" density="ldpi"/>
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-mdpi.png" density="mdpi"/>
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-xhdpi.png" density="xhdpi"/>
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-xxhdpi.png" density="xxhdpi"/>


    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-hdpi.png" density="land-hdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-ldpi.png" density="land-ldpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-mdpi.png" density="land-mdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-xhdpi.png" density="land-xhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-xxhdpi.png" density="land-xxhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-xxxhdpi.png" density="land-xxxhdpi" />


    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-hdpi.png" density="port-hdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-ldpi.png" density="port-ldpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-mdpi.png" density="port-mdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-xhdpi.png" density="port-xhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-xxhdpi.png" density="port-xxhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-xxxhdpi.png" density="port-xxxhdpi" />


    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-night-hdpi.png" density="land-night-hdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-night-ldpi.png" density="land-night-ldpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-night-mdpi.png" density="land-night-mdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-night-xhdpi.png" density="land-night-xhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-night-xxhdpi.png" density="land-night-xxhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-land-night-xxxhdpi.png" density="land-night-xxxhdpi" />

    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-night-hdpi.png" density="port-night-hdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-night-ldpi.png" density="port-night-ldpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-night-mdpi.png" density="port-night-mdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-night-xhdpi.png" density="port-night-xhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-night-xxhdpi.png" density="port-night-xxhdpi" />
    <splash src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/screen/android/splash-port-night-xxxhdpi.png" density="port-night-xxxhdpi" />
</platform>

Windows-specific Information

Splash screen images can be defined using the MRT concept.
If you specify src="https://github.com/apache/cordova-plugin-splashscreen/raw/6.0.2/res/windows/splashscreen.png" the following files will be copied into the application's images folder:
res/windows/splashscreen.png | res/windows/splashscreen.scale-100.png, res/windows/splashscreen.scale-125.png, etc.

The following are supported:

Scale, % Project Width Height Filename
100 Windows 10/8.1 620 300 splashscreen.png | splashscreen.scale-100.png
125 Windows 10 775 375 splashscreen.scale-125.png
150 Windows 10 930 450 splashscreen.scale-150.png
200 Windows 10 1240 600 splashscreen.scale-200.png
400 Windows 10 2480 1200 splashscreen.scale-400.png
140 Windows 8.1 868 420 splashscreen.scale-140.png
180 Windows 8.1 1116 540 splashscreen.scale-180.png
100 Windows Phone 8.1 480 800 splashscreenphone.png | splashscreenphone.scale-100.png
140 Windows Phone 8.1 672 1120 splashscreenphone.scale-140.png
240 Windows Phone 8.1 1152 1920 splashscreenphone.scale-240.png

Note: SplashScreens size for Windows 10 project should not exceed 200 KBytes.
Note: Supported formats are .png, .jpg, .jpeg. Mixing of the extensions within a target is not supported. I.e. you can have splashscreen.jpg and splashscreenphone.png but not splashscreen.scale-100.png, splashscreen.scale-400.jpg.
Note: You may need to reopen Visual Studio solution after changing the images and doing a cordova prepare for the changes to take effect.

Preferences

config.xml

  • AutoHideSplashScreen (boolean, default to true). Indicates whether to hide splash screen automatically or not. The splash screen is hidden after the amount of time specified in the SplashScreenDelay preference.

    xml <preference name="AutoHideSplashScreen" value="true" />

  • SplashScreenDelay (number, default to 3000). Amount of time in milliseconds to wait before automatically hide splash screen.

    xml <preference name="SplashScreenDelay" value="3000" />

    This value used to be in seconds (but is now milliseconds) so values less than 30 will continue to be treated as seconds. (Consider this a deprecated patch that will disapear in some future version.)

    To disable the splashscreen add the following preference to config.xml: xml <preference name="SplashScreenDelay" value="0"/>

    Windows Quirk: You should disable the splashscreen in case you are updating the entire document body dynamically (f.e. with a SPA router) to avoid affecting UI/controls.
    Note that you should also directly reference WinJS/base.js in the page HTML in this case to avoid the issues with activation context (CB-11658).

  • FadeSplashScreen (boolean, defaults to true): Set to false to prevent the splash screen from fading in a

Extension points exported contracts — how you extend this code

Navigator (Interface)
(no doc)
types/index.d.ts

Core symbols most depended-on inside this repo

removeSplashScreen
called by 4
src/android/SplashScreen.java
spinnerStop
called by 4
src/android/SplashScreen.java
getView
called by 3
src/android/SplashScreen.java
getSplashId
called by 3
src/android/SplashScreen.java
updateImageLocation
called by 2
src/browser/SplashScreenProxy.js
getFadeDuration
called by 2
src/android/SplashScreen.java
showSplashScreen
called by 2
src/android/SplashScreen.java
showFor
called by 2
tests/tests.js

Shape

Method 19
Function 5
Class 1
Interface 1

Languages

Java77%
TypeScript23%

Modules by API surface

src/android/SplashScreen.java20 symbols
src/browser/SplashScreenProxy.js4 symbols
types/index.d.ts1 symbols
tests/tests.js1 symbols

For agents

$ claude mcp add cordova-plugin-splashscreen \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page