Icon(s)¶
Most of the time, mobile platforms and devices have very specific requirements regarding the image files to be provided as application icons. NeoMAD offers a structure that allows this diversity to be handled in the URS file. However, for obvious quality reasons, it cannot automatically convert icon images into all the expected sizes and formats. That is why it is highly recommended to follow the guidelines of the different platforms and devices that are targeted in order to cover them in the best possible way. This chapter introduces the main requirements for supported platforms and provides links to the platform developer documentation when applicable.
A complete project example “IconsExample” is provided with NeoMAD in order to show how to handle the multiple icons needed into a NeoMAD project.
Android requirements¶
The application launcher icons should be 32-bit PNGs with an alpha channel for transparency.
For Android we recommend creating a separate set of icons for each generalized screen density as follows:
Android Density | size | file | Requirements |
mdpi | 48 | icon-48.png | Required for build |
hdpi | 72 | icon-72.png | Recommended for Store |
xhdpi | 96 | icon-96.png | Recommended for Store |
xxhdpi | 144 | icon-144.png | Recommended for Store |
xxxhdpi | 192 | icon-192.png | Recommended for Store |
When you publish your application on the Android Market you also need to provide an icon with size 512x512.
For more information, please refer to the Android Icon Guidelines.
IOS requirements¶
When iOS displays your application icon on the Home screen of a device, it automatically adds the following visual effects:
- Rounded corners
- Drop shadow
- Reflective shine
This automation leads to a set of constraints, so you should provide an image that:
- Has 90° corners
- Does not include a drop shadow
- Does not have any shine or gloss
- Does not use alpha transparency
The launcher icons should be either 24 or 32-bit PNGs (but you must not use the alpha channel and must avoid using interlaced PNGs) .
As for Android you should support the different screen variations providing a complete set of images:
iOS icon | Device | size | file | Requirements |
AppIcon | iPhone | 120 | icon-120.png | Required for Store |
AppIcon | iPhone | 180 | icon-180.png | Required for Store |
AppIcon | iPad Pro | 167 | icon-167.png | Required for Store |
AppIcon | iPad, iPad mini | 76 | icon-76.png | Required for Store |
AppIcon | iPad, iPad mini | 152 | icon-152.png | Required for Store |
AppIcon | AppStore | 1024 | icon-1024.png | Required for Store |
Spotlight | iPhone | 120 | icon-120.png | Recommended |
Spotlight | iPhone | 80 | icon-80.png | Recommended |
Spotlight | iPad Pro, iPad, iPad mini | 40 | icon-40.png | Recommended |
Spotlight | iPad Pro, iPad, iPad mini | 80 | icon-80.png | Recommended |
Settings | iPhone | 87 | icon-87.png | Recommended |
Settings | iPhone | 58 | icon-58.png | Recommended |
Settings | iPad Pro, iPad, iPad mini | 29 | icon-29.png | Recommended |
Settings | iPad Pro, iPad, iPad mini | 58 | icon-58.png | Recommended |
Notification | iPhone | 60 | icon-60.png | Recommended |
Notification | iPhone | 40 | icon-40.png | Recommended |
Notification | iPad Pro, iPad, iPad mini | 20 | icon-20.png | Recommended |
Notification | iPad Pro, iPad, iPad mini | 40 | icon-40.png | Recommended |
When you publish your application on the Apple Store you also need to provide 2 icons with size 512x512 and 1024x1024.
For more information, please refer to the Apple Icon Guidelines.
Declaring an icon with NeoMAD¶
Providing icon resources¶
Icons images must be added in the resources of the project. To keep the declaration easy, icon images must be added in the project strictly following the structure below:
project/
res/
icon/
icon-XX.png
...
icon-android/
icon-XX.png
icon-XX.png
...
icon-ios/
icon-XX.png
icon-XX.png
icon-XX.png
- The
res/icon
directory containsgeneric
icons. These icons could be reused by different platforms if the provided size is matching with platform icon size requirements. - The
res/icon-platform
directories providespecific platform
icons (e.g. icons inres/icon-android
will be used only for Android targets). If the same icon is declared underres/icon
andres/icon-platform
, the file inres/icon-platform
will be kept during application build. icon-XX.png
is the name of the icon file andXX
the width (or height since icons are square) of the icon in pixels. The authorized sizes are listed above.