Android 如何将方形网格缩放到任何手机';s尺寸

Android 如何将方形网格缩放到任何手机';s尺寸,android,android-canvas,Android,Android Canvas,嗨,我想在画布上做一个正方形的8x8网格。我已经制作了一个网格,但结果是长方形的,但对于我正在制作的游戏来说,它需要是方形的。如何更改代码,使其成为与手机相称的方形网格 float testWidth = (getWidth() - 16f) / 9f; float testHeight = (getHeight() - 16f) / 9f; for (int i = 0; i < 9; i++) { canvas.drawLine(padding + testWi

嗨,我想在画布上做一个正方形的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);
        }
float testWidth=(getWidth()-16f)/9f;
浮动测试高度=(getHeight()-16f)/9f;
对于(int i=0;i<9;i++){
画布.抽绳(padding+testWidth*i,padding,padding
+测试宽度*i,测试高度*8+填充,黑色);
画布.抽绳(填充,填充+测试高度*i,测试宽度*8
+填充,填充+测试高度*i,暗);
}

编辑:我现在可以制作一个方形网格,但我不知道如何将网格居中放置在手机的中间

您需要从两个网格中选择最短的一个(宽度或高度),然后使用它来构建网格。(这样你的网格就可以放在屏幕上了)

类似于…:

float gridSide = 0;
if (getWidth() > getHeight()) {
  gridSide = getHeight();
}
else {
  gridSide = getWidth();
}
更简单的逻辑由以下内容提供:


使用gridSide作为网格的总长度和总宽度

更简单的逻辑:float cellSize=Math.min(testWidth,testHeight);啊,当然!非常感谢。还有一个问题。这意味着网格占据画布的3/4,底部1/4完全为空白。如何使网格位于画布中心?通过ABS(高度-宽度)/2偏移视图
float gridSide = Math.min(testWidth(), testHeight());