Take the 2-minute tour ×

im throughoutly confused by dips on Android.

I understand from the reference that the base for dp values is 160. So, shouldn't 80dp in width equals a view with a width of 50% of the screen ? On my Nexus One the width in dp is something around 300dp as it seems.

What am i missing here ?

thx in advance

share|improve this question
add comment

3 Answers

"dp" == "Density-independent Pixels" (This is also why it was earlier called "dip", though I prefer to use "dp" these days.)

Think of it like other units -- "in" (inches), "mm" (millimeters), etc. It allows you to provide a size that is scaled based on the density of the screen.

We define mdpi to be the base density, so "10dp" on an mdpi screen will result in exactly 10 pixels. On an hdpi screen it will result in 15 pixels, because hdpi is 1.5*mdpi.

Note that though the constants for various densities are similar to DPI (mdpi is 160, etc), density is not exactly DPI. It is an abstract scaling factor that adjusts for screen dpi, but does not try to exactly reflect it. (You would use "in", "mm", etc for exact sizes but 99.9% that is not what you want so stick with "dp".) This greatly simplifies life for everyone because you don't need to deal with many Android devices having a slightly different amount of space for its UI because they each of slight different screen DPIs. Also, device manufacturers can select the density of their device to achieve a desired UI -- for example the Samsung Tab uses a density that is a fair amount larger than the actual DPI, resulting in an overall larger UI.

share|improve this answer
"This greatly simplifies life for everyone" - except it doesn't. It makes life harder for everyone - because dips don't work (they are so VERY different on many pieces of hardware now that they are useless). Google still says to use dip for all UI, but that is impossible since it causes alighments to be completely wrong on 30% of all handsets (I came here looking for a solution, disappointed to find none). –  Adam Mar 20 '13 at 23:21
add comment

160 dots per inch. So 80dp would be 1/2 an inch, roughly.

share|improve this answer
add comment

I don't understand your question completely but I suggest you take a look at this, if you haven't already.


pixels = dps * (density / 160)

share|improve this answer
add comment

Your Answer


