今天来学习一下flutter中的绘制,从如何使用Canvas draw/paint了解到,在Flutter中使用绘制方式自定义Widget,需要以下三个步骤:
-
1.继承CustomPainter并重写paint方法和shouldRepaint方法
-
2.在写paint方法中绘制内容
-
3.使用CustomPaint来构建Widget
先通过写一个简单的画板来学习一下paint的使用
first:声明一个画纸的class,如上所说继承CustomPainter并重写paint方法和shouldRepaint方法
class Paper extends CustomPainter {
Paper({
@required this.lines,
this.positions,
}) {
_paint = Paint()
..style = PaintingStyle.stroke
..strokeCap = StrokeCap.round;
}
Paint _paint;
final List<List<TolyCircle>> lines;
final List<TolyCircle> positions;
@override
void paint(Canvas canvas, Size size) {
// TODO: implement paint
for (int i = 0; i < lines.length; i++) {
drawLine(canvas, lines[i]);
}
}
@override
bool shouldRepaint(CustomPainter oldDelegate) {
// TODO: impleme