5

我想创建一个与大量设备和屏幕兼容的布局。正如我一直在研究的那样,我发现最常见的屏幕分辨率是 249x320、480x800、600x1024、720x1280(以及与这些成比例的其他一些屏幕)。

好吧,在阅读了文档后,我发现有两种方法可以做到这一点。在 3.2 Android 版本之前,我可以对布局使用限定符,例如“small、normal、large、xlarge”,并将它们与“port”(纵向)或“land”(横向)结合使用。

现在,第二种方式(这似乎是最推荐的)仅适用于 Android 3.2 及更高版本。无论屏幕方向如何 (???),您都必须指定必须使用布局的最小宽度。

由于使用第二种方法时无法指定端口或土地限定符,我更喜欢第一种。我的问题是:第一种方法与Android 3.2 及更高版本兼容吗?我必须对 Android < 3.2 使用第一种方法,对 Android > 3.2 使用第二种方法吗?如果是这样,我应该创建两个项目,或者将这两种方法结合起来(创建大约 10 个布局尺寸,用于一般尺寸限定符和特定最小宽度限定符)。我想这需要更多的资源。

感谢和抱歉我的语言不好。

4

2 回答 2

1

在 Android 中,您不会根据像素来设计布局……而是根据与密度无关的像素(dip 或 dp)来设计布局。这些是按设备每英寸屏幕密度的点数缩放的设备像素。Android 有 4 个通用屏幕密度桶,您必须在适当的文件夹(res/drawable-ldpi、res/drawable-mdpi、res/drawable-hdpi、res/drawable-xhdpi)下为每个提供可绘制对象。

使您的布局与多种设备兼容的其他方法是使用 9png 可拉伸图形,并使用依赖 dp 尺寸的 XML 可绘制对象。

Android屏幕支持推荐阅读:http:
//developer.android.com/guide/practices/screens_support.html

至于最小宽度限定符,您错过了以 dp 而不是像素为单位指定最小宽度的事实。检查本节中的表 2:http:
//developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

第一种方法适用于所有设备,包括 Android 3.2+。

于 2012-04-10T18:39:00.523 回答
0

可能是最好的方法是使用两个布局限定符:-

  1. 资源\布局-大
  2. 资源\布局-sw720dp

使用布局别名在两个目录中设置相同的布局。

于 2015-04-23T03:40:30.277 回答