• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=Tab Icons
2excludeFromSuggestions=true
3parent.title=Icon Design Guidelines
4parent.link=icon_design.html
5@jd:body
6
7<div id="qv-wrapper">
8<div id="qv">
9
10<h2>In this document</h2>
11
12<ol>
13<li><a href="#tabstates">Providing Icons for Two Tab States</a>
14<li><a href="#icon5">Android 2.0 through Android 2.3</a>
15  <ol>
16    <li><a href="#size5">Size</a></li>
17    <li><a href="#style5">Style, colors, and effects</a></li>
18    <li><a href="#dodonts5">Do's and don'ts</a></li>
19    <li><a href="#examples5">Example icons</a></li>
20  </ol>
21</li>
22<li><a href="#icon1">Android 1.6 and Earlier</a></li>
23</ol>
24
25<h2>See also</h2>
26
27<ol>
28<li><a href="{@docRoot}guide/practices/screens_support.html">Supporting Multiple
29Screens</a></li>
30</ol>
31
32</div>
33</div>
34
35
36<div class="note design">
37<p><strong>New Guides for App Designers!</strong></p>
38<p>Check out the new documents for designers at <strong><a
39href="{@docRoot}design/index.html">Android Design</a></strong>, including more guidelines
40for <a href="{@docRoot}design/style/iconography.html">Iconography</a>.</p>
41</div>
42
43
44<p>Tab icons are graphical elements used to represent individual tabs in a
45multi-tab interface. Each tab icon has two states: unselected and selected.</p>
46
47<p>As described in <a href="icon_design.html#icon-sets">Providing
48Density-Specific Icon Sets</a>, you should create separate icon sets for low-,
49medium-, and high-density screens. This ensures that your icons will display
50properly across the range of devices on which your application can be installed.
51See <a href="icon_design.html#design-tips">Tips for Designers</a>
52for suggestions on how to work with multiple sets of icons.</p>
53
54<p><strong>Final art must be exported as a transparent PNG file. Do not include
55a background color</strong>.</p>
56
57<p>Templates for creating icons in Adobe Photoshop are available in the <a
58href="{@docRoot}guide/practices/ui_guidelines/icon_design.html#templatespack">Icon
59Templates Pack</a>.</p>
60
61
62
63<p class="warning"><strong>Warning:</strong>
64
65The style of tab icons has changed drastically in
66Android 2.0 compared to <a href="#icon1">previous versions</a>. <strong>To
67provide support for all Android versions</strong>, developers should:
68<br>
691. Place tab icons for Android 2.0 and higher in the
70<code>drawable-hdpi-v5</code>, <code>drawable-mdpi-v5</code>, and <code>drawable-ldpi-v5</code> directories.
71<br>
722. Place tab icons for previous versions in
73<code>drawable-hdpi</code>, <code>drawable-mdpi</code>, and <code>drawable-ldpi</code> directories.
74<br>
753. Set <code>android:targetSdkVersion</code> to 5 or higher in the
76<a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html">&lt;uses-sdk&gt;</a>
77in the <a href="{@docRoot}guide/topics/manifest/manifest-intro.html">application manifest</a>.
78This will inform the system that it should render tabs using the new tab style.
79
80</p>
81
82
83<h2 id="tabstates">Providing Icons for Two Tab States</h2>
84
85<p>Tab icons should have two states: unselected and selected. To provide icons
86with multiple states, developers must create a
87<a href="{@docRoot}guide/topics/resources/drawable-resource.html#StateList">state
88list drawable</a> for each an icon, which is an XML file that lists which image
89to use for the different UI states.</p>
90
91<p>For example, for a tab widget with tabs named 'Friends' and 'Coworkers',
92you can use a directory structure similar to the one below:</p>
93
94<pre>res/...
95    drawable/...
96        <strong>ic_tab_friends.xml</strong>
97        <strong>ic_tab_coworkers.xml</strong>
98    drawable-ldpi/...
99        ic_tab_friends_selected.png
100        ic_tab_friends_unselected.png
101        ic_tab_coworkers_selected.png
102        ic_tab_coworkers_unselected.png
103    drawable-mdpi/...
104        ic_tab_friends_selected.png
105        ic_tab_friends_unselected.png
106        ic_tab_coworkers_selected.png
107        ic_tab_coworkers_unselected.png
108    drawable-hdpi/...
109        ...
110    drawable-ldpi-v5/...
111        ...
112    drawable-mdpi-v5/...
113        ...
114    drawable-hdpi-v5/...
115        ...</pre>
116
117<p>The contents of the XML files listed above should reference the corresponding
118selected and unselected icon drawables. For example, below is the code
119for <code>ic_tab_friends.xml</code>:</p>
120
121<pre>
122&lt;?xml version="1.0" encoding="utf-8"?&gt;
123&lt;selector xmlns:android="http://schemas.android.com/apk/res/android"&gt;
124    &lt;!-- selected state --&gt;
125    &lt;item android:drawable="@drawable/ic_tab_friends_selected"
126          android:state_selected="true"
127          android:state_pressed="false" /&gt;
128    &lt;!-- unselected state (default) --&gt;
129    &lt;item android:drawable="@drawable/ic_tab_friends_unselected" /&gt;
130&lt;/selector&gt;
131</pre>
132
133
134
135
136<h2 id="icon5">Android 2.0 through Android 2.3</h2>
137
138<p>The following guidelines describe how to design tab icons for Android
1392.0 through Android 2.3 (API Levels 5 through 10).</p>
140
141<h3 id="size5">Size and positioning</h3>
142
143<p>Tab icons should use simple shapes and forms and those must be
144scaled and positioned inside the final asset.</p>
145
146<p>Figure 1 illustrates various ways of positioning the icon inside the
147asset. You should size the icons <em>smaller than the actual bounds of the
148asset</em>.</p>
149
150<p>In order to indicate the recommended size for the icon, each example in
151Figure 1 includes three different guide rectangles:</p>
152
153<ul>
154<li>The red box is the bounding box for the full asset.</li>
155<li>The blue box is the recommended bounding box for the actual icon.
156The icon box is sized smaller than the full asset box to allow for
157special icon treatments.</li>
158<li>The orange box is the recommended bounding box for the actual icon when
159the content is square. The box for square icons is smaller than that for other
160icons to establish a consistent visual weight across the two types.</li>
161</ul>
162
163
164<table>
165<tr>
166
167<td style="border:0;">
168<ol class="nolist">
169  <li>Tab icon dimensions for high-density (<code>hdpi</code>) screens:</li>
170  <ol class="nolist">
171    <li>Full Asset: 48 x 48 px</li>
172    <li>Icon: 42 x 42 px</li>
173  </ol>
174  </li>
175</ol>
176</td>
177<td style="border:0;">
178  <img src="{@docRoot}images/icon_design/tab_size_hdpi.png" width="385">
179</td>
180</tr>
181<tr>
182<td style="border:0;">
183  <ol class="nolist">
184  <li>Tab icon dimensions for medium-density (<code>mdpi</code>) screens:</li>
185    <ol class="nolist">
186      <li>Full Asset: 32 x 32 px</li>
187      <li>Icon: 28 x 28 px</li>
188    </ol>
189  </li>
190</ol>
191</td>
192
193<td style="border:0;">
194 <img src="{@docRoot}images/icon_design/tab_size_mdpi.png" width="385">
195</td>
196</tr>
197<tr>
198<td style="border:0;">
199  <ol class="nolist">
200  <li>Tab icon dimensions for low-density (<code>ldpi</code>) screens:</li>
201    <ol class="nolist">
202      <li>Full Asset: 24 x 24 px</li>
203      <li>Icon: 22 x 22 px</li>
204    </ol>
205  </li>
206</ol>
207</td>
208
209<td style="border:0;">
210 <img src="{@docRoot}images/icon_design/tab_size_ldpi.png" width="385">
211</td>
212</tr>
213
214<tr>
215<td style="border:0;"></td>
216<td style="border:0;">
217 <p class="table-caption"><strong>Figure 1.</strong>
218 Tab icon sizing and positioning inside the bounds of the
219 icon asset.</p>
220</td>
221</tr>
222
223</table>
224
225
226
227
228<h3 id="style5">Style, colors, and effects</h3>
229
230<p>Tab icons are flat, matte, and pictured face-on.</p>
231
232<p>Tab icons should have two states: selected and unselected.</p>
233
234<table class="image-caption">
235<tr>
236<td class="image-caption-i">
237  <img src="{@docRoot}images/icon_design/tab_style_unselected.png" alt="A view of effects for unselected tab icons."/>
238</td>
239<td class="image-caption-c">
240  <div class="caption grad-rule-top">
241    <p><strong>Figure 2. </strong>Style and effects for unselected tab icons.</p>
242    <div class="image-caption-nested">
243    <p><em>Note: all pixel dimensions are for medium density and should be scaled appropriately for other densities.</em></p>
244    <table>
245    <tr><td><em>1.</em></td><td nowrap>Fill color:</td><td><code>#808080</code><br><br></td></tr>
246    <tr><td><em>2.</em></td><td nowrap>Inner content:</td><td>Inner content should subtract from the outer shape and consist purely of transparent pixels.</td></tr>
247    </table>
248    </div>
249  </div>
250</td>
251</tr>
252</table>
253
254<table class="image-caption">
255<tr>
256<td class="image-caption-i">
257  <img src="{@docRoot}images/icon_design/tab_style_selected.png" alt="A view of effects for selected tab icons."/>
258</td>
259<td class="image-caption-c">
260  <div class="caption grad-rule-top">
261    <p><strong>Figure 3. </strong>Style and effects for selected tab icons.</p>
262    <div class="image-caption-nested">
263    <p><em>Note: all pixel dimensions are for medium density and should be scaled appropriately for other densities.</em></p>
264    <table>
265      <tr><td><em>1.</em></td><td nowrap>Fill color:</td><td><code>#FFFFFF</code><br><br></td></tr>
266      <tr><td><em>2.</em></td><td nowrap>Inner content:</td><td>Inner content should subtract from the outer shape and consist purely of transparent pixels.<br><br></td></tr>
267      <tr><td><em>3.</em></td><td nowrap>Outer glow:</td><td><code>#000000</code>, 25% opacity<br>size 3px</td></tr>
268    </table>
269    </div>
270  </div>
271</td>
272</tr>
273</table>
274
275
276
277<h3 id="dosdonts5">Do's and don'ts</h3>
278
279<p>Below are some "do and don't" examples to consider when creating tab icons for
280your application. </p>
281
282
283<img src="{@docRoot}images/icon_design/do_dont_tabicons.png">
284
285
286
287
288<h3 id="examples5">Example icons</h3>
289
290<p>Shown below are standard high-density tab icons that are used in
291the Android platform.</p>
292
293<p class="warning"><strong>Warning:</strong>
294Because these resources can change between platform versions, you
295should not reference the system's copy of the resources. If you want to
296use any icons or other internal drawable resources, you should store a
297local copy of those icons or drawables in your application resources,
298then reference the local copy from your application code. In that way, you can
299maintain control over the appearance of your icons, even if the system's
300copy changes. Note that the grid below is not intended to be complete.</p>
301
302<img src="{@docRoot}images/icon_design/tab_standard.png" />
303
304
305
306<h2 id="icon1">Android 1.6 and Earlier</h2>
307
308<p>The following guidelines describe how to design tab icons for Android
3091.6 (API Level 4) and earlier.</p>
310
311<h4 id="structure1">Structure</h4>
312
313<ul>
314<li>Unselected tab icons have the same fill gradient and effects as
315<a href="icon_design_menu.html#icon1">menu icons</a>,
316but with no outer glow.</li>
317
318<li>Selected tab icons look just like unselected tab icons, but with a fainter
319inner shadow, and have the same front part gradient as
320<a href="icon_design_dialog.html#icon1">dialog icons</a>.</li>
321
322<li>Tab icons have a 1 px safeframe which should only be overlapped for the edge
323of the anti-alias of a round shape.</li>
324
325<li>All dimensions specified on this page are based on a 32x32 px artboard size.
326Keep 1 px of padding around the bounding box inside the Photoshop template.</li>
327
328</ul>
329
330<table class="image-caption">
331<tr>
332<td class="image-caption-i">
333  <img src="{@docRoot}images/icon_design/tab_icon_unselected.png" alt="A view of
334unselected tab icon structure." />
335</td>
336<td class="image-caption-c">
337  <div class="caption grad-rule-top">
338    <p><strong>Figure 3. </strong>Safeframe and fill gradient for unselected tab
339icons. Icon size is 32x32.</p>
340  </div>
341</td>
342</tr>
343<tr>
344<td class="image-caption-i">
345  <img src="{@docRoot}images/icon_design/tab_icon_selected.png" alt="A view of
346selected tab icon structure." />
347</td>
348<td class="image-caption-c">
349  <div class="caption grad-rule-top">
350    <p><strong>Figure 4. </strong>Safeframe and fill gradient for tab icons in
351selected state. Icon size is 32x32.</p>
352  </div>
353</td>
354</tr>
355</table>
356
357<h3 id="unselectedtabdetails1">Unselected tab icon</h3>
358
359<h4 id="unselectedtablight1">Light, effects, and shadows</h4>
360
361<p>Unselected tab icons look just like the selected tab icons, but with a
362fainter inner shadow, and the same front part gradient as the dialog icons.</p>
363
364<table class="image-caption">
365<tr>
366<td class="image-caption-i">
367  <img src="{@docRoot}images/icon_design/tab_unselected_light.png" alt="A view
368of light, effects, and shadows for unselected tab icons."/>
369</td>
370<td class="image-caption-c">
371  <div class="caption grad-rule-top">
372    <p><strong>Figure 5. </strong>Light, effects, and shadows for unselected
373tab icons.</p>
374    <div class="image-caption-nested">
375    <table>
376    <tr><td><em>1.</em></td><td>Front part:</td><td>gradient overlay | angle 90°<br>bottom color: r 223 | g 223 | b 223<br>top color: r 249 | g 249 | b 249<br>bottom color location: 0%<br>top color location: 75%</td></tr>
377    <tr><td><em>2.</em></td><td>Inner shadow:</td><td>black | 10 % opacity | angle 90° distance 2px | size 2px</td></tr>
378    <tr><td><em>3.</em></td><td>Inner bevel:</td><td>depth 1% | direction down | size 0px | angle 90° | altitude 10°<br>highlight white 70% opacity<br>shadow black 25% opacity</td></tr>
379    </table>
380    </div>
381  </div>
382</td>
383</tr>
384</table>
385
386
387<table>
388<tr>
389<td style="border:0">
390
391<h4 id="unselectedtabsteps1">Step by step</h4>
392
393<ol>
394<li>Create the basic shapes using a tool like Adobe Illustrator.</li>
395<li>Import the shape to a tool like Adobe Photoshop and scale to fit an image of
39632x32 px on a transparent background.</li>
397<li>Add the effects seen in Figure 5 for the unselected state filter.</li>
398<li>Export the icon at 32x32 as a PNG file with transparency enabled.</li>
399</ol>
400
401</td>
402</tr>
403</table>
404
405<h3 id="selectedtabdetails1">Selected tab icon</h3>
406
407<p>The selected tab icons have the same fill gradient and effects as the menu
408icon, but with no outer glow.</p>
409
410<table class="image-caption">
411<tr>
412<td class="image-caption-i">
413  <img src="{@docRoot}images/icon_design/tab_selected_light.png" alt="A view of
414light, effects, and shadows for selected tab icons."/>
415</td>
416<td class="image-caption-c">
417  <div class="caption grad-rule-top">
418    <p><strong>Figure 6. </strong>Light, effects, and shadows for selected tab
419icons.</p>
420    <div class="image-caption-nested">
421    <table>
422    <tr><td><em>1.</em></td><td>Front part:</td><td>Use fill gradient from color palette.</td></tr>
423    <tr><td><em>2.</em></td><td>Inner shadow:</td><td>black | 20% opacity | <br>angle 90° | distance 2px | <br>size 2px</td></tr>
424    <tr><td><em>3.</em></td><td>Inner bevel:</td><td>depth 1% | direction down | size 0px | angle 90° | <br>altitude 10°<br>highlight white 70% opacity<br>shadow black 25% opacity</td></tr>
425    </table>
426    </div>
427  </div>
428</td>
429</tr>
430</table>
431
432<table>
433<tr>
434<td style="border:0">
435
436<h4 id="selectedtabpalette1">Color palette</h4>
437
438<table>
439<tr>
440<td class="image-caption-i"><img src="{@docRoot}images/icon_design/menu_palette_gradient_medium.png"/></td>
441<td class="image-caption-c">Fill gradient<br><em>1:&nbsp;&nbsp;</em>r 163 | g 163 | b 163<br><em>2:&nbsp;&nbsp;</em>r 120 | g 120 | b 120<br>Used as color fill on unselected tab icons.</td>
442</tr>
443
444</table>
445
446</td>
447
448<td style="border:0">
449
450<h4 id="selectedtabsteps1">Step by step</h4>
451
452<ol>
453<li>Create the basic shape using a tool like Adobe Illustrator.</li>
454<li>Import the shape into a tool like Adobe Photoshop and scale to fit a 32x32
455px artboard with a transparent background. </li>
456<li>Add the effects seen in Figure 6 for the selected state filter.</li>
457<li>Export the icon at 32x32 as a PNG file with transparency enabled.</li>
458</ol>
459
460</td>
461</tr>
462</table>
463