我有一个类名为MyView,它继承了View。在我的选项菜单中,我有四种颜色。
我想要的是,当我选择绿色并在画布上绘制路径时,它应该绘制绿色路径;当我选择红色时,它应该绘制红色路径,并且先前的绿色路径应该保持不变......
我已经成功地绘制了多条不同颜色的路径,但是在一次只能有一种颜色的路径存在于画布中...... 所以我该怎么做才能在画布上绘制多种颜色的路径?
我有一个类名为MyView,它继承了View。在我的选项菜单中,我有四种颜色。
我想要的是,当我选择绿色并在画布上绘制路径时,它应该绘制绿色路径;当我选择红色时,它应该绘制红色路径,并且先前的绿色路径应该保持不变......
我已经成功地绘制了多条不同颜色的路径,但是在一次只能有一种颜色的路径存在于画布中...... 所以我该怎么做才能在画布上绘制多种颜色的路径?
我做的方法是通过子类化Path来存储颜色以及路径:
private class DrawingPath extends Path
{
public DrawingPath(float w, int c)
{
Width = w;
Color = c;
}
public float Width;
public int Color;
}
然后,当我绘制每个路径时,我先设置颜色。
如您所见,您也可以使用此代码设置宽度,因此您可以为每个路径更改描边宽度。
绘制此内容时,我使用了:
mCanvas.drawColor(Color.WHITE);
for (DrawingPath p : mPaths)
{
mPaint.setColor(p.Color);
mPaint.setStrokeWidth(p.Width);
mCanvas.drawPath(p, mPaint);
}
invalidate();
onTouchEvent
中添加路径后,我有这段代码。 你可以将它放在任何想要重新绘制视图的地方。 - John Boker