Я пытаюсь сделать простое приложение для рисования, но каждый раз, когда я вызываю onDraw, он стирает то, что у меня было раньше. В моем случае я делаю следующее (где точка — это класс с целыми числами x и y, а «точки» — это список точек):
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 я также устанавливаю цвет краски, который изменяется в другом представлении. Когда я добавил пути друг к другу, изменение цвета изменило цвет всех путей.
invalidate()
? - person stefan   schedule 18.04.2012