3

我正在开发一个目标 SDK 为 8 版的应用程序。尽管如此,它必须在较新的 SDK 中工作(例如,Android 4.x)。

这个网站说:

可用于提供特定于大小的资源的配置限定符有 small、normal、large 和 xlarge。例如,超大屏幕的布局应该放在 layout-xlarge/ 中。

从 Android 3.2(API 级别 13)开始,不推荐使用上述大小组,您应该改用 swdp 配置限定符来定义布局资源所需的最小可用宽度。例如,如果您的多窗格数位板布局需要至少 600dp 的屏幕宽度,则应将其放置在 layout-sw600dp/ 中。使用声明布局资源的新技术将在关于为 Android 3.2 声明平板电脑布局的部分中进一步讨论。

就我而言,最佳做法是什么?我确实知道如何处理与代码有关的 SDK 差异/弃用(在运行时验证正在运行的操作系统版本)。但我不知道在这种情况下如何处理资源。

我是否应该保留旧标准并使用layout-{small,normal,large,xlarge}构建目标> = 13?

我是否应该将两者targetSdkVersion和项目构建目标都更改为等于或大于 13,保持minSdkVersion等于 8 并使用layout-sw<N>dp

4

1 回答 1

0

这是一个有趣的答案: Android 资源大小限定符 导致http://developer.android.com/guide/topics/resources/providing-resources.html 声明 layout-swdp 是在 Android API 级别 13 上添加的( Android 3.2),所以是否支持较低版本取决于您,在这种情况下,您将继续使用 layout-{small,normal,large,xlarge}。

所以我的回答是,在你的情况下使用新标准。

以下是帮助您定位最低版本的一般统计数据,但您可能会寻找更精确的统计数据(仅限于国家等):http: //developer.android.com/about/dashboards/index.html

于 2013-10-31T07:55:21.980 回答