[flutter] AnimatedContainer의 투명도 속성을 이용한 페이드 인/아웃 애니메이션 구현하기
이번 포스트에서는 Flutter에서 AnimatedContainer
의 투명도 속성을 이용하여 간단한 페이드 인과 페이드 아웃 애니메이션을 구현하는 방법에 대해 알아보겠습니다.
AnimatedContainer란?
AnimatedContainer
는 Flutter에서 애니메이션을 쉽게 적용할 수 있도록 해주는 위젯입니다. 크기와 색상, 투명도 등의 속성을 변경할 때 부드러운 애니메이션 효과를 자동으로 적용해줍니다.
AnimatedContainer의 사용 예시
다음은 단순한 텍스트가 표시되는 AnimatedContainer
의 예시 코드입니다.
AnimatedContainer(
duration: Duration(seconds: 1),
color: _isVisible ? Colors.blue : Colors.transparent,
child: Center(child: Text('Hello, Flutter!')),
)
위 코드에서 _isVisible
변수의 값에 따라 투명도가 적용되며, 색상이 변화함에 따라 부드러운 애니메이션이 적용됩니다.
페이드 인/아웃 애니메이션 구현하기
이제 페이드 인과 페이드 아웃 애니메이션을 구현해보겠습니다. 아래의 예시 코드는 특정 이벤트가 발생했을 때 _isVisible
값을 변경하여 페이드 인/아웃 애니메이션을 보여주는 간단한 예시입니다.
bool _isVisible = false;
void _toggleVisibility() {
setState(() {
_isVisible = !_isVisible;
});
}
// ...
AnimatedContainer(
duration: Duration(seconds: 1),
curve: Curves.easeIn,
color: _isVisible ? Colors.blue : Colors.transparent,
child: Center(child: Text('Hello, Flutter!')),
),
RaisedButton(
onPressed: () {
_toggleVisibility();
},
child: Text(_isVisible ? 'Fade Out' : 'Fade In'),
)
위 코드에서 _isVisible
변수의 값에 따라 버튼 텍스트가 변경되며, 버튼을 클릭할 때마다 텍스트가 페이드 인과 페이드 아웃 애니메이션을 보여줍니다.
결론
AnimatedContainer
의 투명도 속성을 이용하여 간단한 페이드 인/아웃 애니메이션을 구현하는 방법에 대해 알아보았습니다. 이를 응용하여 다양한 화면 전환이나 UI 효과를 구현하는 데 활용할 수 있습니다.