2013-02-28 42 views
3

嗨我想在畫布上製作一個方形的8x8網格。我已經設法制作了一個網格,但事實證明它是矩形的,但是對於這個遊戲,我需要將它變成方形。如何更改我的代碼,使其成爲縮放到手機的方形網格。如何將一個正方形網格縮放到任何手機的尺寸

float testWidth = (getWidth() - 16f)/9f; 
float testHeight = (getHeight() - 16f)/9f; 
for (int i = 0; i < 9; i++) { 
      canvas.drawLine(padding + testWidth* i, padding, padding 
        + testWidth * i, testHeight* 8+padding, dark); 
      canvas.drawLine(padding, padding+testHeight* i, testWidth* 8 
        + padding, padding+testHeight* i, dark); 
     } 

編輯:我現在可以做一個正方形網格,但我不知道如何中心網格到手機中間

回答

4

你要以最短的兩個(寬度或高度)並使用它來構建網格。 (所以你的網格可以適合在屏幕上)

喜歡的東西...:

float gridSide = 0; 
if (getWidth() > getHeight()) { 
    gridSide = getHeight(); 
} 
else { 
    gridSide = getWidth(); 
} 

appsroxcom提供更簡單的邏輯:

float gridSide = Math.min(testWidth(), testHeight()); 

使用gridSide的總長度網格的總寬度

+0

更簡單的邏輯:float cellSize = Math.min(testWidth,testHeight); – appsroxcom 2013-02-28 15:19:57

+0

ahhh ofcourse!謝謝。還有一個問題。這意味着網格佔用3/4的畫布,底部1/4完全空白。我將如何獲得畫布中心的網格? – user1953208 2013-02-28 15:33:39

+0

用ABS(高度 - 寬度)/ 2偏移視圖 – 2013-02-28 15:49:00

相關問題