Android SurfaceView宽度/高度

时间:2011-01-07 15:40:30

标签: android bitmap surfaceview

我为Android制作了几个应用程序,但没有一个使用图形那么多。我现在正在尝试制作一款真正的游戏。我的画布上有一些位图。我的问题是我不确定在哪里初始化他们的职位。在OnTouch事件中,我想确保位图不会偏离屏幕外。 例如,初始化一个位图:

canvas.drawBitmap(glider.getGraphic(), 30, 20, null);
20和30是任意的。但我希望能够编写类似screen.getWidth()的内容,以便我确切知道位图相对于屏幕边框的位置。我在开发人员的参考资料中找不到这个。

1 个答案:

答案 0 :(得分:2)

如果您只想查看屏幕尺寸,请查看DisplayMetrics课程。你可以得到一个实例和测量结果:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenHeight = metrics.heightPixels;
int screenWidth = metrics.widthPixels;

请记住,这是绝对的屏幕尺寸。如果您正在进行全屏游戏,这将很好,但如果没有,您必须记住通知栏的大小,可能还有标题栏。在这种情况下,获得SurfaceView本身的高度并将其用于计算可能会更好。