6

What is the independent pixel density for a Galaxy s4?

I need it so I can have a qualifier sw???dp for that phone.

It would be great if you could explain how to calculate it.

4

4 回答 4

14

没有人回答这个问题:S4:分辨率 1080 x 1920 像素(约 441 ppi 像素密度)每 gsmarena 公式:px = dp * (dpi / 160) 来自 Google 关于“支持多个屏幕”的文章。因此:dp = px / (dpi / 160)。所以,最短宽度 (sw) = 1080/(441/160) = 391

正如这里所说:在 Android 应用程序设计中使用大小和密度特定的资源问题

于 2015-02-18T15:54:09.620 回答
5

在这里,您可以找到如何为sw???dp您想要的每台设备进行计算。

应用骨架支持多屏

我认为您应该使用以下限定符而不是 96 x 5'(屏幕尺寸):http: //developer.android.com/design/style/devices-displays.html(160、240、320、480)。在 Galaxy S4 的这种情况下,您会得到很好的结果,但如果您尝试使用 Nexus4 (4,7 '),您会得到sw~272而不是380应有的结果,并且在实践中会发生这种情况。这是您应该在公式中使用的值,您将获得正确的结果。

或者

运行此代码段:(API 13+)

int sw = getResources().getConfiguration().smallestScreenWidthDp;

于 2013-12-09T10:16:17.610 回答
5

Galaxy s4 的密度约为 441ppi,即scale factor约为 441/160=2.75。这远高于hdpi(1.5)或。xhdpi (2.0)将您的字体 xml 放入 values-xxhdpi文件夹中。

您也可以在这里 查看更多查询。

于 2013-10-01T10:49:37.017 回答
3

你总能在 gsmarena 找到它。

对于其他未知手机,这里是计算 dpi 的公式:

dpi = ( square_root ( horizontal_pixels ^ 2 + vertical_pixels ^ 2 )) / ( screen_size )

在 Galaxy s4 的情况下:

  • 水平像素 = 1080
  • 垂直像素 = 1920
  • 屏幕尺寸 = 5.0

然后

dpi = ( square_root ( 1080 ^ 2 + 1920 ^ 2 )) /  5.0

dpi = ( square_root ( 1166400 + 3686400 )) /  5.0

dpi = ( square_root ( 4852800 )) /  5.0

dpi = ( 2202.91 ) /  5.0

dpi = 440.5

dpi = 441 dpi
于 2014-07-11T12:35:45.557 回答