CustomPaint

프랭크 IT·2023년 10월 15일
0

flutter

목록 보기
26/28

CustomPaint는 Flutter에서 사용자가 직접 그림을 그릴 수 있게 해주는 위젯입니다. 이 위젯은 주로 painter 속성을 통해 그림을 그립니다. painter 속성에는 CustomPainter 클래스를 상속받은 클래스의 인스턴스가 들어갑니다.

CustomPainter는 두 가지 주요 메서드를 구현해야 합니다:

  1. paint(Canvas canvas, Size size): 이 메서드에서 실제로 그림을 그립니다. 여기서 Canvas 객체를 사용하여 선, 원, 사각형 등 다양한 도형을 그릴 수 있습니다.
  2. shouldRepaint(CustomPainter oldDelegate): 이 메서드는 위젯이 다시 그려져야 하는지를 결정합니다. 일반적으로 상태가 변경될 때마다 다시 그려야 하므로, 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(),
)

이렇게 CustomPaintCustomPainter를 사용하면 Flutter 앱 내에서 다양한 그림을 그릴 수 있습니다. 이를 통해 사용자 인터페이스를 더 다양하게 표현할 수 있습니다.

profile
AWS, Vue, Java, flutter, Mongodb, Python, Git , EKS, Docker, 독서, 영어, 에어로빅, 자전거, 농구, 바둑, 풋살, 복싱, Guitar, 글쓰기, 랭체인

0개의 댓글