画布绘制绘制循环代码

时间:2011-03-10 20:01:23

标签: java android

每次触摸屏幕时,我都会在画布上绘制圆圈。我将它们添加到onTouch方法中的路径的arraylist。在我的onDraw方法中,我循环遍历数组,绘制它们。

当我尝试更改其中一个圆圈的颜色时,它会全部更改。我不想要这个,只是希望它适用于一个特定的圈子。我怎么能这样做?

代码:

//on touch method
case MotionEvent.ACTION_DOWN:
    mode = Drag;
    x =(int) event.getX();
    y =(int) event.getY();
    path = new Path();
    path.addCircle(event.getX(), event.getY(), 8, Path.Direction.CCW);
    mpaint.setARGB(255, mcolor[0],100, mcolor[2]);
    circle.add(path);
    invalidate();

//on draw method
for (Path c : circle) {
    canvas.drawPath(c, mpaint);
}

1 个答案:

答案 0 :(得分:3)

两个选项:

  1. 与每个圆圈一起存储单独的Paint对象
  2. 在Paint中查询要更改的内容的当前值,然后在绘制圆后恢复它们。