CustomPaint
는 Flutter에서 사용자가 직접 그림을 그릴 수 있게 해주는 위젯입니다. 이 위젯은 주로 painter
속성을 통해 그림을 그립니다. painter
속성에는 CustomPainter
클래스를 상속받은 클래스의 인스턴스가 들어갑니다.
CustomPainter
는 두 가지 주요 메서드를 구현해야 합니다:
Canvas
객체를 사용하여 선, 원, 사각형 등 다양한 도형을 그릴 수 있습니다.true
를 반환하는 것이 일반적입니다.간단한 예를 들어, 원을 그리는 CustomPainter
를 구현하고, 이를 CustomPaint
위젯에서 사용할 수 있습니다.
class MyPainter extends CustomPainter {
void paint(Canvas canvas, Size size) {
final paint = Paint()
..color = Colors.blue
..strokeWidth = 5.0;
canvas.drawCircle(Offset(50, 50), 40, paint);
}
bool shouldRepaint(covariant CustomPainter oldDelegate) {
return false;
}
}
// ...
CustomPaint(
painter: MyPainter(),
)
이렇게 CustomPaint
와 CustomPainter
를 사용하면 Flutter 앱 내에서 다양한 그림을 그릴 수 있습니다. 이를 통해 사용자 인터페이스를 더 다양하게 표현할 수 있습니다.