I have 2 questions about the "DPI" term.
1st, i googled this term, someone said that it means dots per inch. and we can use follow formula to canculate the screen dpi:
dpi = radical(screen_width_pixel^2+screen_height_pixel^2)/screen_inchs
Now, i have an android tv, i found that my tv resolution is 1920*1080, and the dpi is 240, the tv size is 50 inch. But if i use above formula to calculate the dpi, i will get the dpi value is 40, i don't know why? is above formula ppi formula?
2nd, i found that the dpi value is in the build.prop->ro.sf.lcd_density=240, i don't know why the manfacturer set this value, in other words, what is this value based on, why not setting 320 or other values? They user above farmula to get the value and set it?
Thanks a lot!
Asked
Active
Viewed 7,530 times
1

Harris Huang
- 83
- 1
- 10
-
Maybe [this link](http://www.dpiphoto.eu/dpi.htm#Dots%20per%20inch,%20engels) helps – Merlevede Mar 03 '14 at 07:57
-
2You are actually calculating ppi and not dpi – Daniel Conde Marin Mar 03 '14 at 08:40
-
@Daniel could you tell me where the dpi value come from? use the formlua or other to calculate this value? – Harris Huang Mar 03 '14 at 09:19
2 Answers
2
I have been researching answer to your question for last one day, and reached some conclusions - 1.
- PPI is pixels per inch, purely mathematical. i.e. - it calculate number of pixels per inch.
- DP - Device Independent Pixels AKA dots -> i.e. android system defines a virtual pixel so that it could compare devices with different pixel densities. You know baseline is 160 DPi (160 dots per inch), so any MDPI device has a virtual grid which contains 160 DP per inch, while a device which is HDPI has same grid but it will contain 240 DP per inch. (Note that number of pixels one dot/Device independent Pixel may contain varies, depending on the size of device.)
- here comes your answers- a) DPi is system defined, all you can calculate is number of DP in one inch, which in your case sums up to - 1920*160/240 =1280 DPs in height, 1080*160/240 = 720 DPs in width), what you calculated is PPi. b) manufacturer set it so that you could know how much you need to resize your image. Suppose an image which is of certain size in 160DPi, then to make this image look same size, you need to double the size of the image on 320DPi screen.
Note - I tried on my part to make you understand, if you find any problem understanding my answer, Please comment, would be happy to assist.
-
Thanks for your reply, with your interpretation, i have understand the DPI term a little. i just found a google doc, that introduce how to suit multiple screen. there are a table to define the dpi for various screen and resolution. i will keep on researching it. Thanks a lot! – Harris Huang Mar 06 '14 at 11:33
-
0
Try this information Iuser lastly to develop and android studio screens
ldpi (low) ~ 120dpi
mdpi (medium) ~ 160dpi
hdpi (high) ~ 240dpi
xhdpi (extra-high) ~ 320dpi
xxhdpi (extra-extra-high) ~ 480dpi
xxxhdpi (extra-extra-extra-high) ~ 640dpi
-
res/values/dimens.xml(default)
res/values-ldpi/dimens.xml (240x320 and nearer resolution)
res/values-mdpi/dimens.xml (320x480 and nearer resolution)
res/values-hdpi/dimens.xml (480x800, 540x960 and nearer resolution)
res/values-xhdpi/dimens.xml (720x1280 - Samsung S3, Micromax Canvas HD, etc)
res/values-xxhdpi/dimens.xml (1080x1920 - Samsung S4, HTC one, etc)
res/values-large/dimens.xml (480x800)
-
res/values-large-mdpi/dimens.xml (600x1024)
res/values-sw600dp/dimens.xml (600x1024)
res/values-sw720dp/dimens.xml (800x1280)
res/values-xlarge-xhdpi/dimens.xml (2560x1600 - Nexus 10")
res/values-large-xhdpi/dimens.xml (1200x1920 - Nexus 7"(latest))
w600 says if width of current orientation is nearby 600
sq600 says if smallest with of device is nearby 600

Seetpal singh
- 3,505
- 1
- 15
- 12