| page.title=Iconography |
| page.tags="icons" |
| meta.tags="icons, googleplay, listing, branding" |
| page.titleFriendly=Guidelines for creating your app's icons |
| @jd:body |
| |
| <img src="{@docRoot}design/media/iconography_overview.png"> |
| |
| |
| <p>An icon is a graphic that takes up a small portion of screen real estate and provides a quick, |
| intuitive representation of an action, a status, or an app.</p> |
| |
| <p>When you design icons for your app, it's important to keep in mind that your |
| app may be installed on a variety of devices that offer a range of |
| pixel densities, as mentioned in |
| <a href="{@docRoot}design/style/devices-displays.html">Devices |
| and Displays</a>. But you can make your icons look great on all devices |
| by providing each icon in multiple sizes. When your app runs, Android checks the characteristics of |
| the device screen and loads the appropriate density-specific assets for your app. </p> |
| |
| <p>Because you will deliver each icon in multiple sizes to support different densities, |
| the design guidelines below |
| refer to the icon dimensions in <acronym title="density-independent pixels">dp</acronym> |
| units, which are based on the pixel dimensions of a medium-density (MDPI) screen.</p> |
| |
| <img src="{@docRoot}design/media/devices_displays_density@2x.png" alt="" height="160" /> |
| |
| <p>So, to create an icon for different densities, you should follow the <strong>2:3:4:6:8 |
| scaling ratio</strong> between the five primary densities (medium, high, x-high, xx-high, and |
| xxx-high respectively). For example, consider that the size for a launcher icon is specified to be |
| 48x48 dp. This means the baseline (MDPI) asset is 48x48 px, and the |
| high density (HDPI) asset should be 1.5x the baseline at 72x72 px, and the x-high |
| density (XHDPI) asset should be 2x the baseline at 96x96 px, and so on.</p> |
| |
| <p class="note"><strong>Note:</strong> Android also supports low-density (LDPI) screens, |
| but you normally don't need to create custom assets at this size because Android |
| effectively down-scales your HDPI assets by 1/2 to match the expected size.</p> |
| |
| |
| |
| |
| <h2 id="launcher">Launcher</h2> |
| |
| <p>The launcher icon is the visual representation of your app on the Home or All Apps screen. Since the |
| user can change the Home screen's wallpaper, make sure that your launcher icon is clearly visible on |
| any type of background.</p> |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_launcher_size.png"> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_launcher_focal.png"> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_launcher_style.png"> |
| |
| </div> |
| </div> |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Sizes & scale</h4> |
| |
| <ul> |
| <li class="no-bullet with-icon tablet"> |
| <p>Launcher icons on a mobile device must be <strong>48x48 <acronym title="Density-independent pixels. One dp is one pixel on a 160 dpi screen.">dp</acronym></strong>.</p></li> |
| <li class="no-bullet with-icon web"> |
| <p>Launcher icons for display on Google Play must be <strong>512x512 pixels</strong>.</p></li> |
| </ul> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Proportions</h4> |
| |
| <ul> |
| <li class="no-bullet with-icon tablet"> |
| <p>Full asset, <strong>48x48 dp</strong></p> |
| </li> |
| </ul> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Style</h4> |
| <p>Use a distinct silhouette. Three-dimensional, front view, with a slight perspective as if viewed |
| from above, so that users perceive some depth.</p> |
| |
| </div> |
| </div> |
| |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-4"> |
| |
| </div> |
| <div class="layout-content-col span-7"> |
| |
| <img src="{@docRoot}design/media/iconography_launcher_example.png"> |
| |
| </div> |
| <!-- 2 free columns --> |
| </div> |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-12"> |
| |
| <img src="{@docRoot}design/media/iconography_launcher_example2.png"> |
| |
| <div class="vspace size-2"> </div> |
| |
| </div> |
| <!-- 1 free columns --> |
| </div> |
| |
| |
| <h2 id="action-bar">Action Bar</h2> |
| |
| <p> |
| |
| Action bar icons are graphic buttons that represent the most important actions people can take |
| within your app. Each one should employ a simple metaphor representing a single concept that most |
| people can grasp at a glance. |
| |
| </p> |
| <p> |
| |
| Pre-defined glyphs should be used for certain common actions such as "refresh" and "share." The |
| download link below provides a package with icons that are scaled for various screen densities and |
| are suitable for use with the Holo Light and Holo Dark themes. The package also includes unstyled |
| icons that you can modify to match your theme, in addition to Adobe® Illustrator® source |
| files for further customization. |
| |
| </p> |
| <p> |
| <a onClick="_gaq.push(['_trackEvent', 'Design', 'Download', 'Action Bar Icons (@iconography page)']);" |
| href="{@docRoot}downloads/design/Android_Design_Icons_20131106.zip">Download the Action Bar Icon Pack</a> |
| </p> |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_actionbar_size.png"> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_actionbar_focal.png"> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_actionbar_style.png"> |
| |
| </div> |
| </div> |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Sizes & scale</h4> |
| |
| <ul> |
| <li class="no-bullet with-icon tablet"> |
| <p>Action bar icons for phones should be <strong>32x32 <acronym title="Density-independent pixels. One dp is one pixel on a 160 dpi screen.">dp</acronym></strong>.</p></li> |
| </ul> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Focal area & proportions</h4> |
| |
| <ul> |
| <li class="no-bullet with-icon tablet"> |
| <p>Full asset, <strong>32x32 dp</strong></p> |
| <p>Optical square, <strong>24x24 dp</strong></p> |
| </li> |
| </ul> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Style</h4> |
| <p>Pictographic, flat, not too detailed, with smooth curves or sharp shapes. If the graphic is thin, |
| rotate it 45° left or right to fill the focal space. The thickness of the strokes and negative |
| spaces should be a minimum of 2 dp.</p> |
| |
| </div> |
| </div> |
| |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-3"> |
| |
| <h4>Colors</h4> |
| <p>Colors: <strong>#333333</strong><br /> |
| Enabled: <strong>60%</strong> opacity<br /> |
| Disabled: <strong>30%</strong> opacity</p> |
| <div class="vspace size-1"> </div> |
| |
| <p>Colors: <strong>#FFFFFF</strong><br /> |
| Enabled: <strong>80%</strong> opacity<br /> |
| Disabled: <strong>30%</strong> opacity</p> |
| |
| </div> |
| <div class="layout-content-col span-9"> |
| |
| <img src="{@docRoot}design/media/iconography_actionbar_colors.png"> |
| |
| </div> |
| </div> |
| |
| |
| <h2 id="small-contextual">Small / Contextual Icons</h2> |
| |
| <p>Within the body of your app, use small icons to surface actions and/or provide status for specific |
| items. For example, in the Gmail app, each message has a star icon that marks the message as |
| important.</p> |
| |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_small_size.png"> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_small_focal.png"> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_small_style.png"> |
| |
| </div> |
| </div> |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Sizes & scale</h4> |
| |
| <ul> |
| <li class="no-bullet with-icon tablet"> |
| <p>Small icons should be <strong>16x16 <acronym title="Density-independent pixels. One dp is one pixel on a 160 dpi screen.">dp</acronym></strong>.</p></li> |
| </ul> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Focal area & proportions</h4> |
| |
| <ul> |
| <li class="no-bullet with-icon tablet"> |
| <p>Full asset, <strong>16x16 dp</strong></p> |
| <p>Optical square, <strong>12x12 dp</strong></p> |
| </li> |
| </ul> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Style</h4> |
| <p>Neutral, flat, and simple. Filled shapes are easier to see than thin strokes. Use a single visual |
| metaphor so that a user can easily recognize and understand its purpose.</p> |
| |
| </div> |
| </div> |
| |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_small_colors.png"> |
| |
| <div class="vspace size-2"> </div> |
| |
| <h4>Colors</h4> |
| <p>Use non-neutral colors sparingly and with purpose. For example, Gmail uses yellow in the star icon |
| to indicate a bookmarked message. If an icon is actionable, choose a color that contrasts well with |
| the background.</p> |
| |
| </div> |
| <div class="layout-content-col span-7"> |
| |
| <img src="{@docRoot}design/media/iconography_small_example.png"> |
| |
| </div> |
| <!-- 2 free columns --> |
| </div> |
| |
| |
| <h2 id="notification">Notification Icons</h2> |
| |
| <p>If your app generates notifications, provide an icon that the system can display in the status bar |
| whenever a new notification is available.</p> |
| |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_notification_size.png"> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_notification_focal.png"> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <img src="{@docRoot}design/media/iconography_notification_style.png"> |
| |
| </div> |
| </div> |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Sizes & scale</h4> |
| |
| <ul> |
| <li class="no-bullet with-icon tablet"> |
| <p>Notification icons must be <strong>24x24 <acronym title="Density-independent pixels. One dp is one pixel on a 160 dpi screen.">dp</acronym></strong>.</p></li> |
| </ul> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Focal area & proportions</h4> |
| |
| <ul> |
| <li class="no-bullet with-icon tablet"> |
| <p>Full asset, <strong>24x24 dp</strong></p> |
| <p>Optical square, <strong>22x22 dp</strong></p> |
| </li> |
| </ul> |
| |
| </div> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Style</h4> |
| <p>Keep the style flat and simple, using the same single, visual metaphor as your launcher icon.</p> |
| |
| </div> |
| </div> |
| |
| |
| <div class="layout-content-row"> |
| <div class="layout-content-col span-4"> |
| |
| <h4>Colors</h4> |
| <p>Notification icons must be entirely white. Also, the system may scale down and/or darken the icons.</p> |
| |
| </div> |
| <div class="layout-content-col span-7"> |
| |
| <img src="{@docRoot}design/media/iconography_notification_example.png"> |
| |
| </div> |
| <!-- 2 free columns --> |
| </div> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <h2 id="DesignTips">Design Tips</h2> |
| |
| <p>Here are some tips you might find useful as you create icons or other |
| drawable assets for your application. These tips assume you are using |
| Adobe® Photoshop® or a similar raster and vector image-editing program.</p> |
| |
| |
| |
| |
| <h3>Use vector shapes where possible</h3> |
| |
| <p>Many image-editing programs such as Adobe® Photoshop® allow you to use a |
| combination of vector shapes and raster layers and effects. When possible, |
| use vector shapes so that if the need arises, assets can be scaled up without |
| loss of detail and edge crispness.</p> |
| |
| <p>Using vectors also makes it easy to align edges and corners to pixel |
| boundaries at smaller resolutions.</li> |
| |
| |
| |
| <h3>Start with large artboards</h3> |
| |
| <p>Because you will need to create assets for different screen densities, |
| it is best to start your icon |
| designs on large artboards with dimensions that are multiples of the target icon |
| sizes. For example, launcher icons are 48, 72, 96, or 144 pixels wide, |
| depending on screen density (mdpi, hdpi, xhdpi, and xxhdpi, respectively). If you |
| initially draw launcher icons on an 864x864 artboard, it will be easier and |
| cleaner to adjust the icons when you scale the artboard down to the target |
| sizes for final asset creation.</p> |
| |
| |
| |
| <h3>When scaling, redraw bitmap layers as needed</h3> |
| |
| <p>If you scaled an image up from a bitmap layer, rather than from a vector |
| layer, those layers will need to be redrawn manually to appear crisp at higher |
| densities. For example if a 60x60 circle was painted as a bitmap for |
| mdpi it will need to be repainted as a 90x90 circle for hdpi.</p> |
| |
| |
| |
| <h3>Use common naming conventions for icon assets</h3> |
| |
| <p>Try to name files so that related assets will group together inside a |
| directory when they are sorted alphabetically. In particular, it helps to use a |
| common prefix for each icon type. For example:</p> |
| |
| <table> |
| <tr> |
| <th>Asset Type</th> |
| <th>Prefix</th> |
| <th>Example</th> |
| </tr> |
| <tr> |
| <td>Icons</td> |
| <td><code>ic_</code></td> |
| <td><code>ic_star.png</code></td> |
| </tr> |
| <tr> |
| <td>Launcher icons</td> |
| <td><code>ic_launcher</code></td> |
| <td><code>ic_launcher_calendar.png</code></td> |
| </tr> |
| <tr> |
| <td>Menu icons and Action Bar icons</td> |
| <td><code>ic_menu</code></td> |
| <td><code>ic_menu_archive.png</code></td> |
| </tr> |
| <tr> |
| <td>Status bar icons</td> |
| <td><code>ic_stat_notify</code></td> |
| <td><code>ic_stat_notify_msg.png</code></td> |
| </tr> |
| <tr> |
| <td>Tab icons</td> |
| <td><code>ic_tab</code></td> |
| <td><code>ic_tab_recent.png</code></td> |
| </tr> |
| <tr> |
| <td>Dialog icons</td> |
| <td><code>ic_dialog</code></td> |
| <td><code>ic_dialog_info.png</code></td> |
| </tr> |
| </table> |
| |
| <p>Note that you are not required to use a shared prefix of any |
| type—doing so is for your convenience only.</p> |
| |
| |
| <h3>Set up a working space that organizes files by density</h3> |
| |
| <p>Supporting multiple screen densities means you must create multiple versions |
| of the same icon. To help keep the multiple copies of files safe and easier to |
| find, we recommend creating a directory structure in your working space that |
| organizes asset files based on the target density. For example:</p> |
| |
| <pre> |
| art/... |
| mdpi/... |
| _pre_production/... |
| <em>working_file</em>.psd |
| <em>finished_asset</em>.png |
| hdpi/... |
| _pre_production/... |
| <em>working_file</em>.psd |
| <em>finished_asset</em>.png |
| xhdpi/... |
| _pre_production/... |
| <em>working_file</em>.psd |
| <em>finished_asset</em>.png</pre> |
| xxhdpi/... |
| _pre_production/... |
| <em>working_file</em>.psd |
| <em>finished_asset</em>.png</pre> |
| |
| <p>Because the structure in your working space is similar to that of the application, you |
| can quickly determine which assets should be copied to each |
| resources directory. Separating assets by density also helps you detect any |
| variances in filenames across densities, which is important because |
| corresponding assets for different densities must share the same filename.</p> |
| |
| <p>For comparison, here's the resources directory structure of a typical |
| application: </p> |
| |
| <pre>res/... |
| drawable-ldpi/... |
| <em>finished_asset</em>.png |
| drawable-mdpi/... |
| <em>finished_asset</em>.png |
| drawable-hdpi/... |
| <em>finished_asset</em>.png |
| drawable-xhdpi/... |
| <em>finished_asset</em>.png |
| </pre> |
| |
| <p>For more information about how to save resources in the application project, |
| see <a href="{@docRoot}guide/topics/resources/providing-resources.html">Providing Resources</a>. |
| </p> |
| |
| |
| <h3>Remove unnecessary metadata from final assets</h3> |
| |
| <p>Although the Android SDK tools will automatically compress PNGs when packaging |
| application resources into the application binary, a good practice is to remove |
| unnecessary headers and metadata from your PNG assets. Tools such as <a |
| href="http://optipng.sourceforge.net/">OptiPNG</a> or <a |
| href="http://pmt.sourceforge.net/pngcrush/">Pngcrush</a> can ensure that this |
| metadata is removed and that your image asset file sizes are optimized.</p> |
| |
| |