问题:
Flutter 中如何画圆?
解决方法:
创建一个 StatelessWidget 叫做 MyArc, 接收一个直径的参数:
class MyArc extends StatelessWidget { final double diameter; const MyArc({Key key, this.diameter = 200}) : super(key: key); @override Widget build(BuildContext context) { return CustomPaint( painter: MyPainter(), size: Size(diameter, diameter), ); } } // This is the Painter class class MyPainter extends CustomPainter { @override void paint(Canvas canvas, Size size) { Paint paint = Paint()..color = Colors.blue; canvas.drawArc( Rect.fromCenter( center: Offset(size.height / 2, size.width / 2), height: size.height, width: size.width, ), math.pi, math.pi, false, paint, ); } @override bool shouldRepaint(CustomPainter oldDelegate) => false; }