如何在不同的Android屏幕尺寸和分辨率上获得相同大小的游戏元素

时间:2012-01-18 17:36:38

标签: android graphics pixel screen-size

我正在尝试在不同的Android设备上拥有类似大小的游戏对象,这意味着不同的屏幕尺寸和分辨率,有没有办法例如重新计算,例如1厘米到像素。

我的意思是重新计算屏幕分辨率和大小,并获得与实际大小相对应的像素数。

当你在xml中创建android UI时,我读到了关于设备无关的像素,但是对我来说似乎不太好,因为我在OpenGL中这样做,并且想要重新计算任何真实大小的像素。

2 个答案:

答案 0 :(得分:1)

使用屏幕dpi可能会有效。 This post解释了如何使用DisplayMetrics获取它。

答案 1 :(得分:1)

  1. 使用getHeight()和getWidth()方法获取游戏View的高度和宽度。
  2. 相对于View的高度和宽度定义所有游戏对象尺寸。
  3. 另外,不要在View的构造函数中调用getHeight()和getWidth(),因为尚未创建View表面,所以它将返回0。我在我的游戏中使用SurfaceView,我在surfaceCreated()方法中调用这些方法。