我有 3 ImageViews。 第一和第二 已连接,红色行。我也有简单的按钮。这是一张图片:
我想连接 第二&当我点击我的按钮时,第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(),但我不知道这样做。需要帮助。
答案 0 :(得分:2)
invalidate()
方法强制重新绘制View
。
因此,只需在画布上应用所需的修改,并在这些修改后在相关的invalidate()
上调用View
。