#android #canvas
#Android #холст
Вопрос:
У меня есть 3 просмотра изображений. 1-й и 2-й соединены красной линией. Также у меня есть простая кнопка. Вот картинка:
Я хочу подключить 2-й и 3-й просмотры изображений с новой линией пути и изменить цвет первой строки (например, на зеленый) при нажатии на мою кнопку. Вот части моего кода:
public class SkillPath extends View {
Paint paint;
Path path;
... constructors
@Override
protected void onDraw(Canvas canvas) {
addPath (canvas);
}
//Here is my RED line
void addPath (Canvas canvas){
paint.setAntiAlias(true);
paint.setColor(Color.RED);
paint.setStrokeWidth(3);
path.moveTo(110, 110);
path.lineTo(210, 110);
canvas.drawPath(path, paint);
Log.d ("Page 2","onDraw");
}
Я могу получить все координаты всех видов, но как я могу перерисовать существующий холст? Я подозреваю, что мне нужно использовать invalidate(), но я недостаточно знаю, чтобы сделать это. Нужна помощь.
Ответ №1:
invalidate()
Метод заставляет View
перерисовывать.
Так что просто примените нужную вам модификацию к своему холсту и вызовите invalidate()
соответствующую View
после этих изменений.