【问题标题】:How big is small, normal, large and xlarge?small、normal、large 和 xlarge 分别有多大?
【发布时间】:2014-02-25 09:04:51
【问题描述】:

我知道http://developer.android.com/guide/practices/screens_support.html有一节是关于物理屏幕尺寸的分类,但图表很粗略。当屏幕停止正常并属于大类别时?等等。我的意思是物理尺寸,而不是 dpi。类别中的屏幕尺寸有哪些具体限制?

【问题讨论】:

  • smallnormallargexlarge 现已弃用

标签: android


【解决方案1】:

详细说明 John Boker 的回答...

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

因为160dp 大约在每台设备上都等于1in

与密度无关的像素 - 基于屏幕物理密度的抽象单位。这些单位是相对于 160 dpi(每英寸点数)的屏幕而言的,在该屏幕上 1dp 大致等于 1px。

http://developer.android.com/guide/topics/resources/more-resources.html#Dimension

物理尺寸可以近似计算如下:

xlarge screens are at least 6in x 4.5in
large screens are at least 4in x 3in
normal screens are at least 2.9375in x 2in
small screens are at least 2.6625in x 2in

【讨论】:

  • 没有。 160dp 仅在 mdpi 设备上等于 1in,即使这样也只是近似值。
  • 对不起我的朋友,但你大错特错了。 dp 的全部目的是能够表达与屏幕密度无关的尺寸(提示:这就是为什么它们被称为与密度无关的像素)。 1dp = 1px160dpi (mdpi) 屏幕上,物理尺寸为 1/160 英寸。在320dpi (xhdpi) 屏幕上,1dp = 2px(Android 使用缩放因子 x2.0),物理上为 2/320 -> 1/160 英寸,物理尺寸相同。由于缩放因子,设备的实际dpi 偏离120dpi160dpi240dpi320dpi480dpi 越远,这将越接近。
【解决方案2】:

根据我的经验,使用 small、normal、large、x-large 表示法对屏幕尺寸没有“特定限制”。它们更通用,在大多数情况下都能让你顺利通过。这些值是设备上 rom 的一部分,因此是否符合 API 文档中的标准取决于制造商。

如果您的目标是 API 13+,您可以使用 sw-dp 表示法来获得更具体的信息(请参阅 http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts)。

【讨论】:

    【解决方案3】:

    Android Compatibility Definition 仅规定设备必须大于 2.5"。但它也需要符合multiple screens support doc,因此虽然这些尺寸很粗糙(正如您所指出的),但您可以依赖和可能是您能获得的最佳信息。我相信 Google 故意在此含糊其辞。您(作为开发人员)不应该担心确切的物理屏幕尺寸。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-28
      • 2014-03-19
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多