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.
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:
|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.
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:
|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||iPad Pro, iPad, iPad mini||40||icon-40.png||Recommended|
|Spotlight||iPad Pro, iPad, iPad mini||80||icon-80.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||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
genericicons. These icons could be reused by different platforms if the provided size is matching with platform icon size requirements.
specific platformicons (e.g. icons in
res/icon-androidwill be used only for Android targets). If the same icon is declared under
res/icon-platform, the file in
res/icon-platformwill be kept during application build.
icon-XX.pngis the name of the icon file and
XXthe width (or height since icons are square) of the icon in pixels. The authorized sizes are listed above.