2010-10-22 102 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

相關問題