在Android画布上绘制多个路径

时间:2013-02-20 13:36:42

标签: android canvas paint

我有一个名为MyView的类扩展了View ..在我的选项菜单中,我有四种颜色。

我想要的是当我选择绿色并在画布上绘制路径时它应该绘制绿色路径,当我选择红色时应该绘制红色路径,之前的绿色应该是原样...

我成功绘制了多种不同颜色的路径但是在同一时间只有一种颜色存在于画布中..那么我该如何在画布上绘制多种颜色的路径?

1 个答案:

答案 0 :(得分: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();