【问题标题】:Obtaining SurfaceView dimensions获取 SurfaceView 尺寸
【发布时间】:2010-07-06 22:05:50
【问题描述】:

我想我可能会问一个愚蠢的问题,但我还是 Android 编程新手,我无法(尽管我付出了所有努力)在 Google 上找到答案。

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

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

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

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

但返回的值为零。

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

【问题讨论】:

  • 如果 SurfaceView 是子类,并且 onDraw(Canvas canvas) 在该子类中被覆盖,是否执行 onDraw 方法?查看您的问题,似乎确实如此,但我正在做同样的事情,但控件从未进入 onDraw。请指教。

标签: android resolution surfaceview


【解决方案1】:

你可以这样做:

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

【讨论】:

猜你喜欢
  • 2017-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-04
  • 1970-01-01
  • 2011-09-17
  • 2022-01-09
相关资源
最近更新 更多