Android 2.0 中的分辨率支持

3

我收到了我的第一台摩托罗拉Droid用户发送的电子邮件。Android 2.0引入的新分辨率480x854(与320x480相比)正在给我的用户界面带来麻烦。一切都变小了,位置也不正确。

我原以为,如果我们遵循XML布局指南,就可以做到分辨率安全,因为没有使用绝对坐标。有没有人在UI中进行分辨率安全方面的经验?我们需要为每个分辨率和方向创建一个main.xml吗?

3个回答

8

您使用了哪些尺寸单位?

据我所知,使用dpsp应该是安全的。

从文档中得知:

dp 密度无关像素 - 这是一种基于屏幕物理密度的抽象单位。这些单位相对于160 dpi的屏幕,因此在160 dpi的屏幕上,一个dp就是一个像素。dp到像素的比例会随着屏幕密度而改变,但不一定成比例增加。注意:编译器接受"dip"和"dp"两种单位,但"dp"更符合"sp"。

sp 缩放独立像素 - 这类似于dp单位,但它也会根据用户的字体大小偏好进行缩放。建议您使用此单位来指定字体大小,以便为屏幕密度和用户的偏好进行调整。


1
如果文档不太清楚,请注意:使用sp表示字体大小,使用dp表示非字体大小的尺寸,例如填充、边距和尺寸。 - Eric Mill

5

eclair模拟器对于这些问题非常有效,还要确保阅读:

http://developer.android.com/guide/practices/screens_support.html

您的应用程序会根据许多因素(甚至是最小sdk)响应不同的分辨率。 此外,页面上还有一些最佳实践:

  1. 在XML布局文件中使用wrap_content、fill_parent和dip单位,而不是px
  2. 避免使用AbsoluteLayout
  3. 不要在代码中使用硬编码像素值
  4. 使用密度和/或分辨率特定资源

2

除了分辨率差异之外,需要考虑的另一件事是Droid的WVGA屏幕与先前的设备(如G1)具有不同的宽高比。在我下载的许多旧应用程序中,这会表现为屏幕底部的间隙或纵向错位的元素。您可能需要尝试在带有WVGA皮肤的模拟器中运行应用程序,以检查布局对宽高比的任何隐藏假设。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接