반응형
플러터에서 AnimatedSwitcher를 사용할때 transitionBuilder를 이용하여 prev와 next를 구분해 각각 다른 애니메이션을 적용하고 싶을때가 있다.
이에 두 위젯을 구분해야 하는데 가장 많이쓰이는 방법은 key를 이용하는것이다.
허나 이 방법은 아주 치명적인 문제가 있는데, 유저가 화면을 연타하여 애니메이션을 연속적으로 호출하면 duplicatedKey Exception이 발생한다.
이를 해결하는 방법은 사실상 외부변수로 isPrev = true를 선언한 뒤 불릴때마다 값을 토글해주는 방식밖에 없다.
코드는 좀 더러워지지만 지금까지 찾은 방법줌 가장 확실하다.
반응형
'Flutter' 카테고리의 다른 글
| 왜 flutter로 만든 앱은 rn보다 예쁘게 나오지 않을까? (0) | 2026.01.13 |
|---|---|
| 플러터 코드푸시 초간단 정리 (0) | 2025.05.23 |
| vscode에서 flutter의 kotlin, swift 코드 환경 구성 (0) | 2025.04.15 |
| Row위젯에서 Text Overflow날 때 (0) | 2025.02.18 |
| GestureDetector 텅빈영역 터치 감지하기 (0) | 2025.01.09 |
댓글