【发布时间】:2013-10-07 11:44:47
【问题描述】:
Galaxy s4 的独立像素密度是多少?
我需要它,以便我可以为该手机设置一个限定符 sw???dp。
如果你能解释如何计算它会很棒。
【问题讨论】:
-
看我的回答here
标签: android resolution density-independent-pixel
Galaxy s4 的独立像素密度是多少?
我需要它,以便我可以为该手机设置一个限定符 sw???dp。
如果你能解释如何计算它会很棒。
【问题讨论】:
标签: android resolution density-independent-pixel
没有人回答这个问题: S4:每 gsmarena 分辨率 1080 x 1920 像素(~441 ppi 像素密度) 公式:px = dp * (dpi / 160) 来自谷歌关于“支持多屏”的文章。 因此:dp = px / (dpi / 160)。所以,最短宽度 (sw) = 1080/(441/160) = 391
正如这里所说:Use size and density-specific resources problems in Android app design
【讨论】:
在这里您可以找到如何为您想要的每台设备计算sw???dp。
Application Skeleton to support multiple screen
我认为您应该使用以下限定符而不是 96 x 5'(屏幕尺寸):http://developer.android.com/design/style/devices-displays.html (160, 240, 320, 480)。在 Galaxy S4 的这种情况下,您会得到很好的结果,但如果您尝试使用 Nexus4 (4,7 '),您将得到 sw~272 而不是 380,因为它应该,并且在实践中发生。这是您应该在公式中使用的值,您会得到正确的结果。
或
运行这个 sn-p 代码:(API 13+)
int sw = getResources().getConfiguration().smallestScreenWidthDp;
【讨论】:
Galaxy s4 的密度约为 441ppi,即scale factor 约为 441/160=2.75。这比hdpi(1.5) 或xhdpi (2.0) 高得多。把你的字体xml
values-xxhdpi 文件夹。
您也可以在这里查看look here 以了解更多问题。
【讨论】:
你总是可以在 gsmarena 中找到它。
对于其他未知的手机,这里是计算 dpi 的公式:
dpi = ( square_root ( horizontal_pixels ^ 2 + vertical_pixels ^ 2 )) / ( screen_size )
以galaxy s4为例:
然后
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
【讨论】: