如何计算设备像素比

时间:2014-05-24 06:02:20

标签: android html css android-layout

我想知道如何计算-webkit-device-pixel-ratio。我已经读过这个: http://www.quirksmode.org/blog/archives/2012/06/devicepixelrati.html.Yet我无法理解清楚。 我还想知道是否有一个列表,哪些设备使用哪个像素比。安卓网站说

  

Android浏览器和WebView支持CSS媒体功能,允许您为特定屏幕密度创建样式 - -webkit-device-pixel-ratio CSS媒体功能。应用于此功能的值应为“0.75”,“1”或“1.5”,表示样式分别适用于具有低密度,中密度或高密度屏幕的设备。

但我发现我们需要使用-webkit-device-pixel-ratio = 2来使网络应用程序在768 x 1280分辨率屏幕上兼容。

6 个答案:

答案 0 :(得分:15)

根据这篇文章

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

幻数似乎是150。

将物理ppi除以150的理想ppi,得出器件的像素比率。

E.g。具有445ppi的设备将具有3的dpr - >> 445/150

对于此列表中的许多项目,简单的计算似乎都没有用,

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

答案 1 :(得分:3)

你可以使用javascript window.devicePixelRatio

找到像素比率

答案 2 :(得分:3)

您可以通过访问https://www.mydevice.io/找到许多屏幕参数 enter image description here

答案 3 :(得分:2)

设备像素比(DPR)是基于物理硬件的像素和作为抽象的设备无关像素之间的关系。设备像素比的值不是可以可靠地计算的,因为它基于设备制造商打算如何将一种类型的像素系统映射到另一种像素系统。要可靠地获取此信息,您需要从设备请求它。

答案 4 :(得分:1)

计算显示指标并获取

DisplayMetrics dm = context.getResources()。getDisplayMetrics(); int densityDpi = dm.densityDpi

并使用dm.xdpi或dm.ydpi即pixcel desity

答案 5 :(得分:1)

问题在于,没有一个数据库列出了所有(甚至最常见的)设备,因此,查找给定设备的视口规格就是试图在多个数据库中的任何一个中查找该设备的情况。

这些是我曾经使用过的数据库,列出了设备视口及其像素比率:

可以随意添加到上面的列表中,因为我敢肯定还有更全面的数据库。

还要记住resolution / DPR = viewport,因此,为了测试站点的响应能力,您通常只需要DPR或视口之一,并且视口本身通常更好。