簡単なペイント アプリケーションを実行しようとしていますが、onDraw を呼び出すたびに、以前にあったものが消去されます。私のオンドローでは、次のことを行っています(ポイントはxとyのintを持つクラスで、「ポイント」はリストポイントです):
Paint paint = new Paint();
int c = getPaintFromActivityClass();
paint.setColor(c);
Path path = new Path();
boolean first = true;
for(Point point : points){
if(first){
first = false;
path.moveTo(point.x, point.y);
}
else{
path.lineTo(point.x, point.y);
}
}
canvas.drawPath(path, paint);
毎回「古い」パスを新しいパスに追加しようとしましたが、基本的にパスを互いに連結し、個別の(接続されていない)パスを作成しました。ただし、onDraw では、別のビューによって変更されているペイント カラーも設定しています。パスを相互に追加すると、色を変更するとすべてのパスの色が変わりました。