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.
Actually it's
it's 24dp size with a 2dp padding , means 20dp content
px = dp * (dpi/160)
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.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With