2010-10-22 97 views
1

我正在开发一个游戏。我在一个表面视图上绘制了图像,该图像位于相对布局中。我希望我的游戏的外观和感觉应该相同所有决议。 所以现在我想测量surfaceview/canva的宽度和高度,这样我就可以以适当的比例而不是硬编码的值启动图像。但我无法检索高度和宽度,所以请帮助我。如何获得表面视图的宽度和高度

I tried canvas.getWidth() and all but it returns 0. 

回答

2

也许是因为你试图尽快得到宽度。

试试这个:

canvas.post(new Runnable() 
    { 
     public void run() 
     { 
     int w = canvas.getWidth(); 
     } 
    } 
); 
+0

这比可能是正确的更多,我已经在过去同样的问题。 – user432209 2010-10-22 16:15:21

+0

我在表面视图的重写方法中保存了表面视图的宽度和高度OnSurfaceViewChanged();它对我来说工作得很好。 – Pramod 2011-05-16 10:05:50

+0

对不起,要问(也许愚蠢)的问题,但我找不到OnSurfaceViewChanged方法: http://developer.android.com/reference/android/view/SurfaceView.html – 2014-10-18 14:04:26

相关问题