供引用:http://developer.android.com/guide/practices/screens_support.html

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



我希望3.2+的设备仍会使用在drawable-large-mdpi或layout-xlarge中声明的资源,但事实并非如此。

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

  • 布局-sw600dp
  • layout-720dp
  • 布局-xlarge
  • 布局

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

    更奇怪的是,这些文件夹中是否包含图形对象:
  • drawable-sw600dp-mdpi
  • drawable-xlarge-mdpi

  • 上方的10“摩托罗拉XOOM从drawable-sw600dp-mdpi中选择图像。为什么不从drawable-xlarge-mdpi中选择可绘制对象?

    我们是否应该不希望xlarge量词在Android 3.2以上的版本上都能正常工作?

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

    希望我只是在这里错过了一些简单的事情。请指教。

    最佳答案

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

    关于向后兼容性,您必须在项目中使用两种类型的量词。旧版本将用于API = 3.2。为避免重复,对于布局,您可以使用别名。但是,对于可绘制对象,我不知道有什么解决方案可以避免重复。

    10-07 16:23