颤振如何绘制半圆(半圆)

我怎么能这样画半圆?

Code:

class DrawHalfCircleClipper extends CustomClipper<Path> {

@override

Path getClip(Size size) {

final Path path = new Path();

...

return path;

}

@override

bool shouldReclip(CustomClipper<Path> oldClipper) {

return true;

}

回答:

Create a StatelessWidget say MyArc which accepts a diameter.

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;

}

Usage:

@override

Widget build(BuildContext context) {

return Scaffold(

appBar: AppBar(),

body: MyArc(diameter: 300),

);

}

以上是 颤振如何绘制半圆(半圆) 的全部内容, 来源链接: utcz.com/qa/414503.html

回到顶部