我正在尝试绘制一个 10x10 的交替颜色网格。在我的 run() 方法中,我有这个
int xinc = this.getWidth() / 10;
int yinc = this.getHeight() / 10;
Log.d("xinc - ", String.valueOf(xinc));
Log.d("yinc - ", String.valueOf(yinc));
int x1 = 0;
int y1 = 0;
int x2 = xinc;
int y2 = yinc;
boolean red = true;
for (int xx = 0; xx < 10; xx++) {
for (int yy = 0; yy < 10; yy++) {
if (red) {
myPaint.setColor(Color.RED);
red = false;
} else {
myPaint.setColor(Color.GREEN);
red = true;
}
c.drawRect(x1, y1, x2, y2, myPaint);
y1 += yinc;
y2 += yinc;
}
x1 += xinc;
x2 += xinc;
}
holder.unlockCanvasAndPost(c);
我得到了第一行垂直替代框,但仅此而已。屏幕的其余部分保持白色。就好像 x1 和 x2 变量没有增加一样,所以外部循环没有影响。但是我已经确认它们是通过对这些变量使用 logcat 来确认的,它们会按预期增加。谁能看到这里有什么问题?