RelativeLayout container = (RelativeLayout) findViewById(R.id.sc);
然后我将画布类添加到此容器中,但我的网格位于左上角,即网格下方有大空间,我想知道如何使网格居中。这是我绘制网格的代码。
float testWidth = (getWidth() - 16f) / 9f;
float testHeight = (getHeight() - 16f) / 9f;
for (int i = 0; i < 9; i++) {
canvas.drawLine(testWidth* i, 0 , testWidth * i, testWidth* 8, dark);
canvas.drawLine(0, testWidth* i, testWidth* 8, testWidth* i, dark);
}
我在xml文件中使用重力/边距吗?
答案 0 :(得分:2)
检查它是否适合您。
float testWidth = (getWidth() - 16f) / 9f;
float testHeight = (getHeight() - 16f) / 9f;
float size = Math.min(testWidth, testHeight);
float offsetW = (getWidth() - size*8) / 2;
float offsetH = (getHeight() - size*8) /2;
for (int i = 0; i < 9; i++) {
canvas.drawLine(offsetW + size*i,
offsetH,
offsetW + size*i,
offsetH + size*8,
dark);
canvas.drawLine(offsetW,
offsetH + size* i,
offsetW + size* 8,
offsetH + size* i,
dark);
}
代码未经过测试。我们的想法是为网格提供水平和垂直偏移。
答案 1 :(得分:0)
在PARENT视图的XML文件中使用gravity = "center"
。在这种情况下,视图的所有子项都将居中。