[flutter] 플러터 AnimatedContainer 소개
플러터는 아름다운 모바일 앱을 만들기 위한 강력한 프레임워크로, 다양한 위젯을 제공합니다. 이 중 AnimatedContainer 위젯은 애니메이션을 쉽게 추가할 수 있는 강력한 기능을 제공합니다.
AnimatedContainer란 무엇인가요?
AnimatedContainer는 플러터에서 제공되는 위젯 중 하나로, 컨테이너의 속성을 변경할 때 부드러운 애니메이션을 제공합니다. 예를 들어, 컨테이너의 크기, 색상 또는 여백을 변경할 때 애니메이션 효과를 쉽게 적용할 수 있습니다.
사용 예시
다음은 AnimatedContainer를 사용하여 간단한 애니메이션 효과를 적용하는 예시 코드입니다.
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('AnimatedContainer 예시'),
),
body: Center(
child: MyAnimatedContainer(),
),
),
);
}
}
class MyAnimatedContainer extends StatefulWidget {
@override
_MyAnimatedContainerState createState() => _MyAnimatedContainerState();
}
class _MyAnimatedContainerState extends State<MyAnimatedContainer> {
bool _isBig = false;
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
setState(() {
_isBig = !_isBig;
});
},
child: AnimatedContainer(
duration: Duration(seconds: 1),
curve: Curves.fastOutSlowIn,
color: _isBig ? Colors.blue : Colors.red,
width: _isBig ? 200.0 : 100.0,
height: _isBig ? 200.0 : 100.0,
child: Center(
child: Text(
'탭하여 크기 변경',
style: TextStyle(color: Colors.white),
),
),
),
);
}
}
위 코드는 AnimatedContainer를 사용하여 탭할 때마다 컨테이너의 크기와 색상을 변경하도록 구현되어 있습니다.
AnimatedContainer를 사용하면 사용자 터치에 반응하는 부드러운 애니메이션 효과를 쉽게 구현할 수 있습니다. 이를 통해 앱의 사용자 경험을 향상시킬 수 있습니다.
결론
AnimatedContainer는 플러터에서 애니메이션 효과를 쉽게 추가할 수 있는 강력한 위젯 중 하나입니다. 컨테이너의 속성을 변경할 때 부드러운 애니메이션을 적용하여 사용자에게 더 흥미로운 경험을 제공할 수 있습니다.
플러터의 더 많은 위젯과 기능에 대해 알아보려면 플러터 공식 문서를 참고하시기 바랍니다.