Search code examples
androidhtmlcssandroid-layout

How to calculate device pixel ratio


I would like to know how the -webkit-device-pixel-ratio is calculated. I had already read this. Yet I am unable to understand it clearly. I would also like to know if there is a list of which devices use which pixel ratio. The android website says

The Android Browser and WebView support a CSS media feature that allows you to create styles for specific screen densities—the -webkit-device-pixel-ratio CSS media feature. The value you apply to this feature should be either "0.75", "1", or "1.5", to indicate that the styles are for devices with low density, medium density, or high density screens, respectively.

but I found that we need to use -webkit-device-pixel-ratio=2 to make a web application compatible on 768 x 1280 resolution screen.


Solution

  • According to this article

    http://www.html5rocks.com/en/mobile/high-dpi/

    The magic number seems to be 150.

    Dividing the physical ppi by the ideal ppi of 150, gives the device pixel ratio.

    E.g. a device with 445ppi would have a dpr of 3 ->> 445 / 150

    The simple calculation seems to hold up okay for many items on this list,

    http://en.wikipedia.org/wiki/List_of_displays_by_pixel_density