1

我有一个向后兼容的应用程序,它使用特定于屏幕的布局(仅适用于 HVGA)。我的布局结构如下: res/layout res/layout-480x320(用于 HVGA) layout-480x320 包含一些特定的 XML。

清单如下:

<uses-sdk android:minSdkVersion="7"
android:targetSdkVersion="11"
android:maxSdkVersion="15"/>

当我在 Galaxy Nexus (720x1280) 中运行此应用程序时,kayout 取自 480x320 文件夹。我已经在 2.1 目标和 4.0 目标上构建了它。两者都产生相同的结果。任何人都可以请帮忙。

4

1 回答 1

1

这是对 ICS 4.0(或可能是 3.2)的重大更改。

Pre ICS:如果您指定“layout-480x320”,它会找到并完全匹配并从该文件夹中获取(如果您的设备是 HVGA),否则它将回退到“layout”文件夹。

ICS:如果您指定“layout-480x320”,Android 认为此布局适用于“相同或高于”480x320 的任何分辨率,因此它不会回退到“layout”文件夹。所以你必须提供另一个更高分辨率的文件夹。

所以,现在它不是完全匹配,而是基于“范围”的匹配。我不知道这是功能还是错误。但是通过文档似乎,它是一个功能。:)

于 2011-12-29T09:36:20.673 回答