首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SurfaceView运行方法代码

SurfaceView运行方法代码
EN

Stack Overflow用户
提问于 2012-11-05 06:32:58
回答 1查看 59关注 0票数 1

我正在尝试绘制一个10x10的交替颜色网格。在我的run()方法中,我有以下内容

代码语言:javascript
复制
    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来确认它们是正确的,它们会像预期的那样增加。有没有人能看到这里出了什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-05 06:42:05

你忘了重置y1和y2!我认为一个简单的y1 = 0; y2 = yinc;

在此之前

x1 += xinc; x2 += xinc;

应该做这件事。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13223626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档