xlarge vs sw720dp屏幕尺寸混乱

时间:2012-07-20 15:39:55

标签: android

供参考:http://developer.android.com/guide/practices/screens_support.html

旧样式大小量词是“已弃用”:

  

一组四个通用尺寸:小尺寸,普通尺寸,大尺寸和xlarge   注意:从Android 3.2(API级别13)开始,这些大小的组是   不推荐使用基于管理屏幕尺寸的新技术   在可用的屏幕宽度上。如果你正在为Android 3.2开发   更多,请参阅为Android 3.2声明平板电脑布局   信息。

我希望3.2+的设备仍然可以使用drawable-large-mdpi或layout-xlarge中声明的资源,但似乎并非如此。

我有一个测试项目,其中包含每种尺寸的布局文件:

  • 布局sw600dp
  • 布局720dp
  • 布局XLARGE
  • 布局

在运行Android 4.0.x的10“Motorola XOOM上,设备选择layout-720dp文件夹中的布局。如果该文件夹不存在,则选择layout-sw600dp文件夹中的布局!为什么它不是在layout-xlarge中选择布局吗?

更奇怪的是,我在这些文件夹中有可绘制内容:

  • 抽拉-sw600dp-MDPI
  • 抽拉-XLARGE-MDPI

上面的10“摩托罗拉XOOM,从drawable-sw600dp-mdpi中选择图像。为什么不在drawable-xlarge-mdpi中选择drawable?

我们不应该期望xlarge量词在Android 3.2之上完全有效吗?

这是否意味着我必须将drawable-xlarge-mdpi文件夹中的所有资产复制到drawable-sw720dp-mdpi文件夹中? (支持Android 3.0,3.1和3.2 +?)

希望我在这里错过了一些简单的东西。请指教。

1 个答案:

答案 0 :(得分:6)

根据我的理解,对于Android 3.2+,如果您至少有一个使用新大小量词的文件夹,那么它假定您在各处使用这些新的大小量词。所以这就是它忽略layout-xlarge或任何其他使用旧量词的文件夹的原因。

关于向后兼容性,您必须在项目中使用两种类型的量词。旧的将用于API< 3.2和API的新> = 3.2。为避免重复,对于布局,您可以使用别名。但是,对于drawables,我不知道有任何避免重复的解决方案。