获取SurfaceView尺寸

时间:2010-07-06 22:05:50

标签: android resolution surfaceview

我想我可能会问一个虚假的问题,但我仍然是Android编程的新手,我不能(尽管付出了很多努力)在Google上找到我的答案。

问题是,我正在尝试使用2D图形开发一个小游戏。我希望我的“游戏板”位于我的屏幕上的特定位置,以便我可以在框的上方和下方显示游戏内信息。但是由于那里开始有很多Android手机,我正在考虑获得“动态”值,以便我可以调整我的字体大小到每个设备。

我的游戏不是全屏(但可能是,这没什么大不了的),但是在一个没有标题栏的窗口中。

我正在使用默认SurfaceView类的扩展,实现SurfaceHolder.Callback。我尝试编写以下方法:

public void getViewSize()
    {
        VIEW_WIDTH = this.getWidth();
        VIEW_HEIGHT = this.getHeight();
    }

但返回的值是零。

任何人都有了一个想法(即使这意味着改变显示策略)? 非常感谢。

1 个答案:

答案 0 :(得分:4)

你可以这样做:

public void onDraw(Canvas canvas) {
  VIEW_WIDTH = canvas.getWidth();
  VIEW_HEIGHT = canvas.getHeight();
}