Flutter:如何使用 CustomPaint 绘制心形
warning:
这篇文章距离上次修改已过190天,其中的内容可能已经有所变动。
在Flutter中,您可以使用CustomPaint小部件和CustomPainter抽象类来绘制自定义形状。以下是如何使用CustomPaint绘制心形的示例代码:
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: HeartPainter(),
),
),
);
}
}
class HeartPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
final paint = Paint()
..color = Colors.red
..style = PaintingStyle.fill;
final path = Path();
path.moveTo(size.width * 0.5, size.height * 0.4);
path.cubicTo(
size.width * 0.5, size.height * 0.4,
size.width * 0.25, size.height * 0.7,
size.width * 0.5, size.height * 0.9,
);
path.cubicTo(
size.width * 0.5, size.height * 0.9,
size.width * 0.75, size.height * 0.7,
size.width * 0.5, size.height * 0.4,
);
canvas.drawPath(path, paint);
}
@override
bool shouldRepaint(CustomPainter oldDelegate) {
return false;
}
}
这段代码定义了一个名为HeartPainter
的CustomPainter
类,它重写了paint
方法来创建心形路径,并使用了Canvas
来绘制它。然后在MyApp
的build
方法中,通过Center
部件将HeartPainter
作为自定义绘画小部件放置在屏幕中心。
评论已关闭