2

谁能帮忙,我发现很难在精神上(理解它)获得手机的 DPI 并获得代码中的价值 :-)

例如,它指出密度如下(取自 android 文档)

ldpi    Resources for low-density (ldpi) screens (~120dpi).
mdpi    Resources for medium-density (mdpi) screens (~160dpi). (This is the baseline density.)
hdpi    Resources for high-density (hdpi) screens (~240dpi).
xhdpi   Resources for extra high-density (xhdpi) screens (~320dpi).

但为什么它只声明为~240dpi,即。一个值?它不应该是(例如)移动设备(三星 Galaxy S2)是 WVGA (800 x 480) (DPI),符号 ~ 是什么意思?

因此,以 800 x 480(三星星系 s2 的 dpi)为例,如何将其转换为上述值之一?

我想知道是否有人可以帮助我在精神上理解这一点。

那么稍后是否可以通过代码通过代码获取密度大小、DPI(包括 x 和 y)?

我有点失落

4

1 回答 1

5

但为什么它只声明为~240dpi,即。一个值?

你期待什么?

符号〜是什么意思?

正如评论者指出的那样,这意味着“大约”。实际上,设备制造商通常会根据他们对现实世界应用程序行为的测试来选择他们希望他们的设备所处的密度桶。一般来说,他们会选择最接近他们实际屏幕密度的密度桶,但这并不能保证。

因此,以 800 x 480(三星星系 s2 的 dpi)为例,如何将其转换为上述值之一?

你没有。分辨率不是密度。我可以有一个对角线尺寸为 1mm、1cm、1m 或 1km 的 800x480 显示器。结果,它们中的每一个都将具有不同的屏幕密度。密度以 dpi = 每英寸“点数” = 每英寸像素数来衡量。

那么稍后是否可以通过代码通过代码获取密度大小、DPI(包括 x 和 y)?

是的,来自一个DisplayMetrics对象

于 2012-05-28T14:20:33.717 回答