您如何开始为多种设备尺寸/密度开发Android应用程序?

时间:2010-12-09 00:24:21

标签: android layout density-independent-pixel

我问了一个与此相似的问题,但我想我会提出一个更普遍的问题来获得更广泛的意见。

我问这个问题,因为我开发的最后两个应用程序,我把所有图像资源都放在drawable-hdpi文件夹中,没有处理横向模式,主要在我自己的个人Droid手机上测试它,基本上觉得我只是为自己的设备开发。虽然我总是在适当的地方使用dpi和sp,但这还不足以让我的应用程序在其他屏幕尺寸/密度上适当缩放。它有时可以缩放,但总是倾向于在较小尺寸上切掉一部分屏幕。

开始一款可以在所有设备上进行至少某种程度扩展的应用的最佳方式是什么?

例如,我应该构建我的应用布局,使其在默认的HVGA屏幕上看起来正确并允许它扩展到更大的密度?积极构建纵向和横向布局文件是最佳做法吗?

你在做什么来确保你的应用在所有设备上看起来都不错,而不仅仅关注一种尺寸,然后再争先恐后地管理它?

1 个答案:

答案 0 :(得分:2)

我总是遵循这些规则:

  • 将所有内容从supports-screens设置为true。 Android会知道您已准备好适应每个屏幕环境,并且您将知道它不会进行任何屏幕虚拟化。例如:即使您的设备具有大尺寸屏幕,您的代码也会将其视为正常尺寸的屏幕
  • 不要使用固定尺寸的宽度和高度。如果必须,请使用“dp”作为虚拟像素。使用WRAP_CONTENT和FILL_PARENT。 “dp”是屏幕上的物理像素,160 dpi。如果您的应用程序在密度较低/较高的设备上运行,Android将为您重新计算此内容。
  • 使用“dp”作为字体大小的单位。
  • 尝试相对地做所有事情。你可以使用RelativeLayout,如果你想要“在另一个下面的东西”等。如果你需要百分比,你可以使用LinearLayout。
  • 使用九个小时作为背景。
  • 确保将资源放入正确的drawable / layout文件夹中。

当然,这不是每个项目的最佳方法:)有时UI设计师需要额外的一些:]