AnimatedCrossFade
위젯은 Flutter에서 두 개의 자식 간에 페이드 효과와 크기 조정 효과를 가지며 교차 페이드(cross-fade) 전환을 애니메이션으로 구현할 수 있게 해주는 위젯입니다. 이 위젯을 사용하면 한 위젯에서 다른 위젯으로 부드럽게 전환하는 UI 효과를 만들 수 있습니다.
firstChild
와 secondChild
) 사이의 전환을 애니메이션화합니다.duration
매개변수를 통해 전환 애니메이션의 지속 시간을 제어할 수 있습니다.crossFadeState
매개변수를 통해 두 자식 중 어느 것을 표시할지 제어합니다. 이는 CrossFadeState.showFirst
또는 CrossFadeState.showSecond
값을 가질 수 있습니다.firstCurve
와 secondCurve
는 각각 첫 번째 및 두 번째 자식의 페이드 인/아웃 애니메이션 속도 곡선을 정의합니다.sizeCurve
는 크기 조정 애니메이션의 속도 곡선을 정의합니다.alignment
은 자식들이 어떻게 정렬될지를 결정합니다.AnimatedCrossFade(
duration: const Duration(seconds: 2),
firstChild: const FlutterLogo(style: FlutterLogoStyle.horizontal, size: 100.0),
secondChild: const FlutterLogo(style: FlutterLogoStyle.stacked, size: 100.0),
crossFadeState: _first ? CrossFadeState.showFirst : CrossFadeState.showSecond,
)
이 예제에서는 AnimatedCrossFade
위젯이 두 개의 FlutterLogo
스타일 사이를 전환하는 데 사용되었습니다. _first
불린 변수가 true
인 경우 첫 번째 로고가 표시되고, 그렇지 않으면 두 번째 로고가 표시됩니다. 전환은 2초 동안 지속됩니다.
AnimatedCrossFade
는 전환할 두 위젯의 크기가 다를 수 있기 때문에 전환 중에 위젯의 크기가 변할 수 있습니다.AnimatedCrossFade
는 주로 상태 변화에 따라 한 위젯에서 다른 위젯으로 부드럽게 전환할 때 사용됩니다.AnimatedCrossFade
는 사용자에게 시각적인 변화를 효과적으로 전달하면서도 사용자 인터페이스에 동적인 요소를 추가할 때 매우 유용한 위젯입니다.