如何在所有Android设备上绘制背景图像并使其看起来相似?

时间:2011-12-20 07:31:42

标签: android background ondraw

寻找下一个问题的建议。我正在开发小游戏,我有一个* .png文件作为背景。我需要把它放到主游戏画面的背景中。此外,由于我的物体在这些边界上“飞行”,因此它的宽度必须大2倍,高度要大1.5倍。此外,屏幕在游戏中围绕此背景移动。但我对如何做到这一点有点困惑。

我希望我的背景在所有不同尺寸和密度的屏幕上看起来相似。我尝试了一些解决方案,但我不喜欢它们,或者我做错了什么:

  1. 制作不同的背景图像并将它们放在特殊文件夹中。这听起来不错,但随着市场上Android设备的分辨率,这对我来说听起来不太好。它只会使* .apk的大小更大。如果我将使用这些方法设置背景,它将拉伸图像 - 我认为这不是一个好主意。

  2. onDraw()方法中,在画布上绘制图像。我必须将它的左上角放在可能的游戏区域的最左上角并绘制它。但是,这里有一些选择:

    • 从主图像中剪切出我想要的图像并仅绘制此片段(我现在使用的内容)
    • 调整我的图像大小并使用此更改进行绘制
    • 别的......
  3. 所以,问题是:当你需要它几乎比屏幕尺寸大两倍时,为游戏画面绘制背景的最佳选择是什么,让它在所有设备上看起来都相同,并在游戏时移动屏幕玩了吗?

1 个答案:

答案 0 :(得分:1)

你应该使用9个补丁图像。

NinePatchDrawable图形是一个可伸缩的位图图像,Android会自动调整大小以容纳您将其作为背景放置的视图内容。

看到这个链接。 http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch