license: > Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This section shows how to configure an application's icon for various platforms. Documentation about splash screen images can be found in the Cordova-Plugin-Splashscreen documentation Splashscreen plugin docs.
When working in the CLI you can define application icon(s) via the <icon>
element (config.xml
). If you do not specify an icon, the Apache Cordova logo is used.
<icon src="res/ios/icon.png" platform="ios" width="57" height="57" density="mdpi" />
Attributes | Description |
---|---|
src | Required Location of the image file, relative to your project directory |
platform | Optional Target platform |
width | Optional Icon width in pixels |
height | Optional Icon height in pixels |
density | Optional ==Android== Specified icon density |
target | Optional ==Windows== Destination filename for the image file and all its' MRT companions |
The following configuration can be used to define a single default icon which will be used for all platforms.
<icon src="res/icon.png" />
For each platform, you can also define a pixel-perfect icon set to fit different screen resolutions.
<platform name="android"> <!-- ldpi : 36x36 px mdpi : 48x48 px hdpi : 72x72 px xhdpi : 96x96 px xxhdpi : 144x144 px xxxhdpi : 192x192 px --> <icon src="res/android/ldpi.png" density="ldpi" /> <icon src="res/android/mdpi.png" density="mdpi" /> <icon src="res/android/hdpi.png" density="hdpi" /> <icon src="res/android/xhdpi.png" density="xhdpi" /> <icon src="res/android/xxhdpi.png" density="xxhdpi" /> <icon src="res/android/xxxhdpi.png" density="xxxhdpi" /> </platform>
Icons are not applicable to the Browser platform.
<platform name="ios"> <!-- iOS 8.0+ --> <!-- iPhone 6 Plus --> <icon src="res/ios/icon-60@3x.png" width="180" height="180" /> <!-- iOS 7.0+ --> <!-- iPhone / iPod Touch --> <icon src="res/ios/icon-60.png" width="60" height="60" /> <icon src="res/ios/icon-60@2x.png" width="120" height="120" /> <!-- iPad --> <icon src="res/ios/icon-76.png" width="76" height="76" /> <icon src="res/ios/icon-76@2x.png" width="152" height="152" /> <!-- Spotlight Icon --> <icon src="res/ios/icon-40.png" width="40" height="40" /> <icon src="res/ios/icon-40@2x.png" width="80" height="80" /> <!-- iOS 6.1 --> <!-- iPhone / iPod Touch --> <icon src="res/ios/icon.png" width="57" height="57" /> <icon src="res/ios/icon@2x.png" width="114" height="114" /> <!-- iPad --> <icon src="res/ios/icon-72.png" width="72" height="72" /> <icon src="res/ios/icon-72@2x.png" width="144" height="144" /> <!-- iPad Pro --> <icon src="res/ios/icon-167.png" width="167" height="167" /> <!-- iPhone Spotlight and Settings Icon --> <icon src="res/ios/icon-small.png" width="29" height="29" /> <icon src="res/ios/icon-small@2x.png" width="58" height="58" /> <!-- iPad Spotlight and Settings Icon --> <icon src="res/ios/icon-50.png" width="50" height="50" /> <icon src="res/ios/icon-50@2x.png" width="100" height="100" /> <!-- iPad Pro --> <icon src="res/ios/icon-83.5@2x.png" width="167" height="167" /> </platform>
For Windows the recommended approach to define application icons is to use the target
attribute.
<platform name="windows"> <icon src="res/windows/storelogo.png" target="StoreLogo" /> <icon src="res/windows/smalllogo.png" target="Square30x30Logo" /> <icon src="res/windows/Square44x44Logo.png" target="Square44x44Logo" /> <icon src="res/windows/Square70x70Logo.png" target="Square70x70Logo" /> <icon src="res/windows/Square71x71Logo.png" target="Square71x71Logo" /> <icon src="res/windows/Square150x150Logo.png" target="Square150x150Logo" /> <icon src="res/windows/Square310x310Logo.png" target="Square310x310Logo" /> <icon src="res/windows/Wide310x150Logo.png" target="Wide310x150Logo" /> </platform>
where src
is the path to the icon which needs to be added.
The Windows platform handles MRT icons automatically, so if you specify src="res/windows/storelogo.png"
the following files will be copied into the application's images
folder: res/windows/storelogo.scale-100.png
, res/windows/storelogo.scale-200.png
, etc.
TODO Define what MRT is.
The target
attribute specifies the base name for the resultant icons. For every icon file, its destination filename is calculated as target + '.' + MRT_qualifiers + extension(src)
. For the icons to display properly in the application, every target
value should be one of the icon filenames defined in the application's .appxmanifest
file.
Summarizing the above... using the target
attribute it is possible to:
<icon ...>
element, for example:<icon src="res/windows/AppListIcon.png" target="Square44x44Logo" />
which is equivalent to the following lines:
<icon src="res/windows/Square44x44Logo.scale-100.png" width="44" height="44" /> <icon src="res/windows/Square44x44Logo.scale-150.png" width="66" height="66" /> <icon src="res/windows/Square44x44Logo.scale-200.png" width="88" height="88" /> <icon src="res/windows/Square44x44Logo.scale-240.png" width="106" height="106" />
scale-100
and scale-240
(and any other MRT qualifiers)Although it is not recommended, it is also possible to define icons using the width
and height
attributes:
<platform name="windows"> <icon src="res/windows/logo.png" width="150" height="150" /> <icon src="res/windows/smalllogo.png" width="30" height="30" /> <icon src="res/windows/storelogo.png" width="50" height="50" /> <icon src="res/windows/Square44x44Logo.scale-100.png" width="44" height="44" /> <icon src="res/windows/Square44x44Logo.scale-240.png" width="106" height="106" /> <icon src="res/windows/Square70x70Logo.scale-100.png" width="70" height="70" /> <icon src="res/windows/Square71x71Logo.scale-100.png" width="71" height="71" /> <icon src="res/windows/Square71x71Logo.scale-240.png" width="170" height="170" /> <icon src="res/windows/Square150x150Logo.scale-240.png" width="360" height="360" /> <icon src="res/windows/Square310x310Logo.scale-100.png" width="310" height="310" /> <icon src="res/windows/Wide310x150Logo.scale-100.png" width="310" height="150" /> <icon src="res/windows/Wide310x150Logo.scale-240.png" width="744" height="360" /> </platform>