Как нарисовать округлые угловые полигоны на андроидном холсте?

Мне нужно нарисовать многоугольники, такие как треугольник, трапецию, пятиугольник, параллелограмм, ромб и т.д. Кажется, что класс Path - это путь, но мне нужно, чтобы эти многоугольники имели закругленные углы, и мне также нужно контролировать количество округления.

Ответ 1

Найдите ниже простой пример для рисования округлых угловых полигонов (т.е. треугольника, прямоугольника и т.д.)

    @Override
    public void draw(Canvas canvas) {            
        Paint paint = new Paint();
        paint.setColor(Color.GREEN);
        paint.setStrokeWidth(6);
        float radius = 50.0f;
        CornerPathEffect corEffect = new CornerPathEffect(radius);
        paint.setPathEffect(corEffect);
        Path path = new Path();
        path.moveTo(20, 20);
        path.lineTo(400, 20);
        path.lineTo(600, 300);
        path.lineTo(400, 400);
        path.lineTo(20, 400);
        path.close();
        canvas.drawPath(path, paint);
    }

Чтобы контролировать количество округления, измените значение радиуса. Надеюсь, это поможет вам решить вашу проблему. Спасибо.