【发布时间】:2010-12-15 05:43:39
【问题描述】:
我是 Android 新手,刚开始创建应用程序。 我想为我的应用放置背景图像。 我必须使用的图像的宽度和高度是多少才能在所有设备上运行。
【问题讨论】:
我是 Android 新手,刚开始创建应用程序。 我想为我的应用放置背景图像。 我必须使用的图像的宽度和高度是多少才能在所有设备上运行。
【问题讨论】:
这涉及到几个不同的概念。虽然两者都包含在相当长且神秘的Supporting Multiple Screens document 中,但让我提几个注意事项。
您可能需要阅读该文档几次。
设备按像素密度和屏幕尺寸分组。像素密度是低 (ldpi)、中 (mdpi)、高 (hdpi) 和新的超高 (xhdpi) 之一。屏幕尺寸或小、正常、大和新的超大。此外,还有两个方向:纵向和横向。如果你看what actually contacts the Android Market,你可以忽略除 mdpi 和 hdpi 之外的所有内容。
这些分组对应于项目的 res/ 目录树下的单独目录。在 res/drawable 中去你所有的通用图像。在 res/drawable-mdpi 和 res/drawable-hdpi 中,当您为基本类型覆盖图像时,它们会进入您的图像。
此外,这些分组在“中等密度”(大约 140 到 180 dpi)和“高密度”(大约 170 到 250 dpi)之间存在重叠。作为参考,摩托罗拉 Droid X 具有 854 像素 x 480 像素的手机,采用 4.7 英寸(对角线)显示屏,密度为 217 dpi。
您通常以预缩放单位指定布局资源(图形的 dp,每英寸间隔 1/160 或文本中的 sp 等效单位)。请参阅this question 了解更多信息。
不同的测量值会造成不必要的混淆。制作大约 640 x 480 的 mdpi 图像和大约 800 x 600 的 hdpi 图像,你应该是正确的。另外,纵横比无法保证,您可能需要使用 9-patch 工具确保其正确拉伸。
如果您真的想查看设备分辨率,可以询问 getWindowManager().getDefaultDisplay().getWidth()/.getHeight() 像素数。 p>
编码愉快!
【讨论】:
由于 android 没有任何特定的分辨率。我们需要不同的可绘制文件夹。最好参考这个link
【讨论】: