Java 画布绘制循环代码
我每次触摸屏幕都在画布上画圆圈。我将它们添加到onTouch方法中的路径数组列表中。在onDraw方法中,我循环遍历数组,绘制它们 当我试图改变其中一个圆圈的颜色时,它改变了它们。我不想这样,只想把它应用到一个特定的圆上。我该怎么做 代码: 两种选择:Java 画布绘制循环代码,java,android,Java,Android,我每次触摸屏幕都在画布上画圆圈。我将它们添加到onTouch方法中的路径数组列表中。在onDraw方法中,我循环遍历数组,绘制它们 当我试图改变其中一个圆圈的颜色时,它改变了它们。我不想这样,只想把它应用到一个特定的圆上。我该怎么做 代码: 两种选择: 将单独的绘制对象与每个圆一起存储 在绘图中查询要更改的内容的当前值,然后在绘制圆后恢复这些值 两种选择: 将单独的绘制对象与每个圆一起存储 在绘图中查询要更改的内容的当前值,然后在绘制圆后恢复这些值 //触控方法案例MotionEvent.ACT
//触控方法案例MotionEvent.ACTION\u DOWN:模式=拖动;x=(int)event.getX();y=(int)event.getY();路径=新路径();addCircle(event.getX(),event.getY(),8,path.Direction.CCW);mpaint.setARGB(255,mcolor[0],100,mcolor[2]);圈。添加(路径);使无效()//(路径c:circle){canvas.drawPath(c,mpaint);}//on-touch方法case-MotionEvent.ACTION\u-DOWN:mode=Drag;x=(int)event.getX();y=(int)event.getY();路径=新路径();addCircle(event.getX(),event.getY(),8,path.Direction.CCW);mpaint.setARGB(255,mcolor[0],100,mcolor[2]);圈。添加(路径);使无效()//关于(路径c:circle){canvas.drawPath(c,mpaint);}
//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);
}