在安卓画布上绘制多条路径

3

我有一个类名为MyView,它继承了View。在我的选项菜单中,我有四种颜色。

我想要的是,当我选择绿色并在画布上绘制路径时,它应该绘制绿色路径;当我选择红色时,它应该绘制红色路径,并且先前的绿色路径应该保持不变......

我已经成功地绘制了多条不同颜色的路径,但是在一次只能有一种颜色的路径存在于画布中...... 所以我该怎么做才能在画布上绘制多种颜色的路径?


一次性定义并包含您当前的代码。 - Tom Dezentje
你需要展示在画布上绘制的代码。基本上,你需要保存路径的颜色,这样你就可以知道每个路径的颜色是什么。 - John Boker
1个回答

1

我做的方法是通过子类化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();

谢谢你的回答,约翰。我只有一个问题,当我改变那个地方的颜色时,我应该写哪个代码?另一种方法是如何使用这个DrawingPath类?请告诉我。 - user1408325
onTouchEvent中添加路径后,我有这段代码。 你可以将它放在任何想要重新绘制视图的地方。 - John Boker
请给我一个恰当的例子,我仍然不理解整个过程。 - Dhruvil Patel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接