Рисование нескольких контуров на холсте Android

У меня есть один класс с именем MyView, который расширяет вид. В моем меню параметров у меня есть четыре типа цвета.

То, что я хочу, это когда я выбираю зеленый и рисую путь на холсте, он должен рисовать зеленый путь, а когда я выбираю красный, он должен рисовать красный путь, а предыдущий зеленый должен быть таким, какой он есть...

Я добился успеха в рисовании нескольких контуров разных цветов, но в одно время на холсте удерживается только один цвет... так что я могу сделать, чтобы нарисовать несколько контуров на холсте??

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();
Другие вопросы по тегам