难以理解如何支持多个屏幕

时间:2014-01-15 17:35:53

标签: android image screen-resolution screen-size

我在StackOverFlow上看到了很多关于如何支持多个屏幕的问题。但大多数答案都提供了this linkthis。在第一个链接中我得到了这个。我是第一次使用屏幕尺寸所以请帮助我。

xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp

如果xhdpi他们建议 320密度。我很困惑所以我有以下问题。

  1. 如果我想为xlarge屏幕创建背景图像,那么960dp x 720dp意味着我必须使用宽度720像素和高度960像素分辨率320创建图像在纵向模式下?

  2. 如果我想为大屏幕创建背景图片,那么640dp x 480dpp意味着我必须创建宽度为480像素,高度为640像素分辨率更高的图像在纵向模式下<200>

  3. 以上尺寸适用于横向模式,宽度为960dp,高度为720dp

4 个答案:

答案 0 :(得分:3)

来自Android:Supporting Multiple Screens

px = dp * (dpi / 160)

Illustration of how Android roughly maps actual sizes and densities to generalized sizes and densities (figures are not exact)


所以对你的例子来说:

您的图片尺寸为960dp x 720dp dpi 320(您可以看到它属于XHDPI)。

Height = 960dp * (320 / 160) = 1920px

Width = 720dp * (320 / 160) = 1440px

高度和宽度是随意的,具体取决于手机的方向

答案 1 :(得分:0)

在android -

px = dp * (dpi / 160)
  1. 因此,在您的第一个问题中960dp x 720dp 320dpi表示使用上述公式在横向模式下进行xlarge屏幕的1920px x 1440px

  2. 640dp x 480dp 240dpi表示960px x 720px横向模式下的大屏幕。

  3. To learn more about check this.

答案 2 :(得分:0)

请参阅此内容,将每个dpi的dp转换为px(Android) Refer this for Conversion of dp into px for each dpi (Android)

答案 3 :(得分:-1)

dp表示密度无关的像素。 例如,300dp表示中密度(160dpi)屏幕上的300像素。 因此,如果要在实际分辨率上转换dp,则必须将dp乘以密度比例因子: ES 300dp

    在mdpi屏幕上
  1. 300 px
  2. 在hdpi屏幕上450像素
  3. 在xhdpi屏幕上
  4. 600 px
  5. 因此,如果您指定资源,则应记住同时使用大小和密度修饰符 从普通hdpi文件夹中挑选480x800像素中型屏幕手机的背景等等