본문 바로가기
Flutter

CustomPainter사용시 주의사항 RepaintBoundary

by 붕어사랑 티스토리 2023. 12. 19.
반응형

1. 문제상황

 

캔버스를 이용하여 A위젯 B위젯 2가지 위젯을 만들었다고 가정하자.

 

A라는 위젯을 다시그리면 B위젯까지 다시 그려지게 된다.

 

 

 

2. 원인

 

CustomPainter를 사용한 위젯들은 같은 레이어를 사용하기에 발생하는 원인이라고 한다.

 

한마디로 같은 도화지에 그리니깐, 다른 하나를 다시 그리면 다른놈도 통째로 다시그린다는것.

 

 

3. 해결방안

 

CustomPaint위젯을 RepaintBoundary 위젯으로 감싸주면 된다. 이는 범위 밖의 그림이 다시 그려지는것을 방지해준다.

 

 

 

https://stackoverflow.com/questions/66388418/flutter-custompainter-paint-method-gets-called-several-times-instead-of-only-on

 

Flutter: CustomPainter paint method gets called several times instead of only once

I have a simple app that draws via a CustomPainter a red or green circle on a canvas, depending on which button is pressed in the AppBar: The class ColorCircle extends CustomPainter and is respons...

stackoverflow.com

 

반응형

댓글