Android点阵填充视图

Android点阵填充视图,android,kotlin,game-development,Android,Kotlin,Game Development,我试图在Android Studio中使用Kotlin制作一个游戏,目前我有一个网格,使用两个for循环绘制,一个用于cols,一个用于绘制点的行。我想用点来填充视图,没有网格周围的空白。有什么想法吗 val columns = 5 val rows = 5 var xPos: Float = width / (columns + 1) var yPos: Float = height / (rows + 1) for (col in 1..columns) {

我试图在Android Studio中使用Kotlin制作一个游戏,目前我有一个网格,使用两个for循环绘制,一个用于cols,一个用于绘制点的行。我想用点来填充视图,没有网格周围的空白。有什么想法吗

val columns = 5
val rows = 5 

var xPos: Float = width / (columns + 1)
var yPos: Float = height / (rows + 1)

        for (col in 1..columns) {
            for (row in 1..rows) {
                canvas.drawPoint(col*xPos, row*yPos, paint)
             }
         }
我得到的是: d

我想要的是:
边缘周围需要一点空间。所以你可以有一个填充变量,它应该是你的圆点直径的一半加上你想要在圆点周围有多少个白色像素。你可能会使用一个恒定的蘸液单位和屏幕密度来计算尺寸,就像你可能为你的油漆计算圆点直径一样

然后可以在计算中使用填充。例如,如果有五列,要获得点之间的间距,需要在从两侧减去填充后将宽度除以四

val padding = /* ... */
val columns = 5
val rows = 5 
val hSpacing = (width - (2 * padding)) / (columns - 1)
val vSpacing = (height - (2 * padding)) / (rows - 1)

for (i in 0..columns)
    for (j in 0..rows)
        canvas.drawPoint(padding + i * hSpacing, padding + j * vSpacing, paint)

注意,我在间距计算中交换了行和列。