android在480x800 hdpi和480x800 mdpi之间的差异

时间:2012-02-13 16:25:49

标签: android

我在Android模拟器上测试我的应用程序。在一个屏幕上,我有一个横幅广告。广告的尺寸为320x50。

当我启动分辨率为480x800和240dpi(hdpi)的模拟器时,横幅广告会占据整个屏幕宽度。

当我启动具有相同分辨率但160dpi(mdpi)的模拟器时,横幅广告仅占据屏幕的一部分(我预期的480个像素中的320个)

我无法理解为什么480x800设备的屏幕宽度为320dp?根据我的理解,在480px宽的设备上显示320px宽的图像肯定会留下一些空间。我没有看到dpi如何影响那里的任何东西,因为分辨率是相同的。我相信较高的dpi只意味着物理设备将具有更小的屏幕

1 个答案:

答案 0 :(得分:8)

HDPI的480x800设备的屏幕宽度为320dp。正如Google's docs所说,“在240 dpi的屏幕上,1 dp等于1.5个物理像素”。这意味着在HDPI屏幕上指定为320dp的资源将显示为320 * 1.5 = 480像素。

在mdpi(160dpi)的情况下,我认为dp和px是1:1,因此320dp宽的资源将显示为320 * 1 = 320像素。请注意,很少有宽度为480px的mdpi设备,这是一个非常大且像素化的屏幕。