Android status bar expects icons of size 25x25dp while guidelines recommend 32x32dp. Who is wrong?
Asked Answered
D

2

31

According to android icon design guidelines (here, see table #1), developer needs to provide status bar icons of next sizes:

Status Bar  24 x 24 px (LDPI)  32 x 32 px (MDPI)  48 x 48 px (HDPI)

While my measurements show that status bar always has 25 dp in height and expects icons of 25x25dp. This translates to these sizes:

Status Bar  19 x 19 px (LDPI) 25 x 25 px (MDPI)  38 x 38 px (HDPI)

Here is how I get those size:

25dp * 0.75 = 18.75 => 19px (LDPI)
25dp *  1   = 25    => 25px (MDPI)
25dp *  1.5 = 37.5  => 38px (HDPI)

I have confirmed calculated sizes on several Android phones and on emulators.

The question basically is: why guidelines use sizes different from what is really used by status bar?

P.S. I actually need to break guidelines due to precise pixel control requirements. And I just was confused by this state of affairs. So explanation of why this the way it is would really help me.

Downhearted answered 24/11, 2010 at 10:11 Comment(2)
No idea why the doc is wrong. Maybe it was correct long ago before a Google designer decided to knock 7 pixels off the status bar's height. Certainly the status bar icons in the SDK's android.jar are 25px for MDPI and 38px for HDPI, so your observations look 100% correct to me.Trefoil
I think that is just copy/paste error cause in chapter Status bar icon (developer.android.com/guide/practices/ui_guidelines/…) 25x25 size spesified.Biplane
D
10

Warning: regardless of whether or not the answer was correct when written, it appears not to be correct now. See https://www.google.com/design/spec/style/icons.html for the current guidelines.

It just seems to be an error. (Note that as of 2010-12-04, they've also crossed their references to figures 4 and 5 on that page.)

As Lex points out, they have the correct number further down, in the "Status bar icon" section.

They also dictate a 2-pixel "safeframe" on all sides at 25x25 which the shape of your icon must fit within, though it seems that it is okay to have some aliasing-related stuff stick out, but only on the sides, for this type of icon. (Meaning that you really want to aim for 21x21 at that size.)

Diaghilev answered 4/12, 2010 at 22:56 Comment(2)
Please note that dp units mentioned on Android website are not pixels. See developer.android.com/design/style/iconography.html for details on how dp translates to pixels. So 24x24 dp are not always 24x24 pixels and in this answer instead of pixels, dp should be mentioned.Convulsant
Android website has since been updated and no longer references pixel dimensions of the 24dp icons, if you're looking here for exact export values. You can use a web tool like pixplicity.com/dp-px-converter to calculate them for you, or see the answer below.Pahang
K
55

Actually it's

  • 18px(ldpi)
  • 24px(mdpi)
  • 36px(hdpi)
  • 48px(xhdpi)
  • 72px(xxhdpi)
  • 96px(xxxhdpi)

it's 24dp size with a 2dp padding , means 20dp content

px = dp * (dpi/160)

Krein answered 18/7, 2012 at 7:36 Comment(6)
xxhdpi should be 72x72Flavourful
24dp minus 2dp padding is actually 20dp (padding goes for all sides).Underclassman
and xxxhdpi at 96x96pxQuizmaster
and xxxxhdpi at I hope they don't keep making devices with stupid high resolutions for marketing reasonsWheels
Where did you get these numbers from?Flavourful
Android Lint: Incorrect icon size for drawable-mdpi\ic_stat_launcher.png: icon size should be at most 16x25, but was 24x24Inconclusive
D
10

Warning: regardless of whether or not the answer was correct when written, it appears not to be correct now. See https://www.google.com/design/spec/style/icons.html for the current guidelines.

It just seems to be an error. (Note that as of 2010-12-04, they've also crossed their references to figures 4 and 5 on that page.)

As Lex points out, they have the correct number further down, in the "Status bar icon" section.

They also dictate a 2-pixel "safeframe" on all sides at 25x25 which the shape of your icon must fit within, though it seems that it is okay to have some aliasing-related stuff stick out, but only on the sides, for this type of icon. (Meaning that you really want to aim for 21x21 at that size.)

Diaghilev answered 4/12, 2010 at 22:56 Comment(2)
Please note that dp units mentioned on Android website are not pixels. See developer.android.com/design/style/iconography.html for details on how dp translates to pixels. So 24x24 dp are not always 24x24 pixels and in this answer instead of pixels, dp should be mentioned.Convulsant
Android website has since been updated and no longer references pixel dimensions of the 24dp icons, if you're looking here for exact export values. You can use a web tool like pixplicity.com/dp-px-converter to calculate them for you, or see the answer below.Pahang

© 2022 - 2024 — McMap. All rights reserved.