1
我正在开发一个游戏。我在一个表面视图上绘制了图像,该图像位于相对布局中。我希望我的游戏的外观和感觉应该相同所有决议。 所以现在我想测量surfaceview/canva的宽度和高度,这样我就可以以适当的比例而不是硬编码的值启动图像。但我无法检索高度和宽度,所以请帮助我。如何获得表面视图的宽度和高度
I tried canvas.getWidth() and all but it returns 0.
我正在开发一个游戏。我在一个表面视图上绘制了图像,该图像位于相对布局中。我希望我的游戏的外观和感觉应该相同所有决议。 所以现在我想测量surfaceview/canva的宽度和高度,这样我就可以以适当的比例而不是硬编码的值启动图像。但我无法检索高度和宽度,所以请帮助我。如何获得表面视图的宽度和高度
I tried canvas.getWidth() and all but it returns 0.
你可能需要做这样的事情:
也许是因为你试图尽快得到宽度。
试试这个:
canvas.post(new Runnable()
{
public void run()
{
int w = canvas.getWidth();
}
}
);
这比可能是正确的更多,我已经在过去同样的问题。 – user432209 2010-10-22 16:15:21
我在表面视图的重写方法中保存了表面视图的宽度和高度OnSurfaceViewChanged();它对我来说工作得很好。 – Pramod 2011-05-16 10:05:50
对不起,要问(也许愚蠢)的问题,但我找不到OnSurfaceViewChanged方法: http://developer.android.com/reference/android/view/SurfaceView.html – 2014-10-18 14:04:26