Как скруглить края Ar c в флаттере? - PullRequest
1 голос
/ 06 февраля 2020

Мне нужно создать диаграмму ar c следующим образом:

enter image description here

Используя холст, я создал этот:

enter image description here

Мой код:

class CustomChartPainter extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {

    Rect drawingRect = Rect.fromCircle(center: Offset(size.width / 2, size.height / 2), radius: size.width / 2);


    final Paint paint2 = Paint();
    paint2.color = const Color.fromRGBO(0, 0, 0, 0.04);
    paint2.style = PaintingStyle.stroke;
    paint2.strokeWidth = 50;

    canvas.drawCircle(Offset(size.width / 2, size.height / 2), size.width / 2, paint2);

    canvas.drawArc(drawingRect,
        -pi / 2 + 0.35,
        pi - 0.35,
        false,
        greenPaint);

    canvas.drawArc(drawingRect,
        pi / 2 + 0.35,
        pi - 0.35,
        false,
        orangePaint);
  }
}

Как можно скруглить края дуг, как показано на первом рисунке?

1 Ответ

1 голос
/ 06 февраля 2020

Как уже упоминалось @pskink, решение заключается в использовании Paint.strokeCap, точнее: paint.strokeCap = StrokeCap.round

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...