处理不同Android屏幕尺寸的最佳方式?

时间:2009-08-26 19:19:26

标签: android

我们正在为T-Mobile MyTouch编写一个应用程序,这是一款基于Android的手机。我们的图像将以默认屏幕纵向模式(320 x 480)显示。

预计Android操作系统将出现在具有默认横向16:9屏幕格式的上网本上,处理纵向模式格式的图像的最佳方法是什么?换句话说,由于无法在这些上网本上旋转屏幕,如果在横向模式屏幕上显示纵向模式图像,则图像两侧会有大的空白矩形。

3 个答案:

答案 0 :(得分:3)

就应用程序中的图像资源而言,例如背景图像的情况,通常的做法是为横向和纵向模式或甚至不同的屏幕尺寸设置不同的图像。当然,你会调整你的布局,或者至少有一个良好的相对布局。

但是,如果您想知道当必须在屏幕上绘制未知尺寸的图像时要做什么(例如,在相册应用的情况下),可以在两侧留下那些黑色矩形。看一下Android Dev Phone 1上视频播放器视图的行为。它将视频帧高度调整为横向模式,无论肖像模式是否更合适,它都将以横向模式播放视频。

答案 1 :(得分:3)

您处理它的方式与处理用户侧身手机的方式相同。这与UI的决策一样多。

请记住Android支持为相同的视图使用替代布局。如果您有纵向布局,例如 res / layout / gallery.xml ,您可以在 res / layout-land / gallery.xml 中创建等效的横向,Android会自动加载后面的布局文件以横向模式启动。

使用单独的布局XML文件,您可以在最适合应用程序意图的情况下排列图像(显示医疗图像的应用程序可能具有与显示家庭肖像不同的显示优先级)。例如,您可以使用渐变填充背景,或者以纵向模式隐藏的更多信息。这一切都取决于您希望通过您的应用程序实现的目标以及您愿意考虑所有可能性的长度。

但最终,如果用户可以看到图像的真实性而无需翻转上网本,我想他们会很高兴:)

答案 2 :(得分:0)

您应该使用某些锚点设计屏幕,然后将其余视图放置在与这些锚点相关的位置。例如,如果您的屏幕布局有一个横幅,一个项目列表和列表下的一些按钮,那么这两个按钮可以在屏幕上定位:

  1. 将横幅放在顶部。放在 列表下面然后是按钮 在名单下。
  2. 将横幅放在 顶端。将按钮放在 然后是屏幕的底部 list占用了之间的空间 横幅和按钮。
  3. 布局1)在使用不同的屏幕尺寸时会出现问题,布局看起来会很奇怪,或者根本无法正确显示。然而,2)为大多数屏幕尺寸提供了更好的外观。