如何在定位多个Android SDK时使用屏幕尺寸限定符?

时间:2012-11-19 03:30:28

标签: android android-layout

我正在开发一款目标SDK为版本8的应用。尽管如此,它必须适用于较新的SDK(例如Android 4.x)。

This site说:

  

可用于提供特定于大小的配置限定符   资源是小的,正常的,大的和xlarge。例如,布局   对于一个超大的屏幕应该在layout-xlarge /.

中      

从Android 3.2(API级别13)开始,上面的大小组是   不推荐使用,您应该使用swdp配置   限定符,用于定义您所需的最小可用宽度   布局资源。例如,如果您的多窗格平板电脑布局   需要至少600dp的屏幕宽度,你应该把它放入   布局sw600dp /。使用新技术声明布局   资源将在“声明平板电脑”一节中进一步讨论   适用于Android 3.2的布局。

在我的案例中,最佳做法是什么?我知道如何在代码中处理SDK差异/弃用(在运行时验证运行的OS版本)。但在这种情况下我不知道如何处理资源。

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

我是否应将targetSdkVersion和项目构建目标更改为等于或大于13的内容,请将minSdkVersion等于8并使用layout-sw<N>dp

1 个答案:

答案 0 :(得分:0)

这是一个有趣的答案: Android resource size qualifier 这导致http://developer.android.com/guide/topics/resources/providing-resources.html 哪里有声明在Android API 13级(Android 3.2)上添加了layout-swdp所以你是否支持更低版本取决于你,在这种情况下你将继续使用layout- {small,normal,large,xlarge}。

所以我的答案是,在你的情况下转到新标准。

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