[flutter] AnimatedOpacity를 이용한 페이드 인/아웃 애니메이션 구현하기
Flutter는 애니메이션을 쉽게 다룰 수 있는 강력한 기능을 제공합니다. AnimatedOpacity
위젯을 사용하면 간단하게 페이드 인/아웃 효과를 적용할 수 있습니다. 이번 포스트에서는 AnimatedOpacity
를 사용하여 간단한 페이드 인/아웃 애니메이션을 구현하는 방법에 대해 알아보겠습니다.
AnimatedOpacity란?
AnimatedOpacity
는 자식 위젯의 투명도를 애니메이션으로 제어하는 데 사용됩니다. 이를 통해 화면 전환 시 부드러운 페이드 인/아웃 효과를 적용할 수 있습니다.
구현 방법
아래는 AnimatedOpacity
를 사용하여 페이드 인/아웃 애니메이션을 구현하는 간단한 예제 코드입니다.
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
bool _visible = true;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('페이드 인/아웃 애니메이션'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
AnimatedOpacity(
duration: Duration(seconds: 1),
opacity: _visible ? 1.0 : 0.0,
child: FlutterLogo(size: 200),
),
SizedBox(height: 20),
RaisedButton(
onPressed: () {
setState(() {
_visible = !_visible;
});
},
child: Text(
_visible ? '사라지기' : '나타나기',
),
),
],
),
),
),
);
}
}
위 예제 코드에서는 AnimatedOpacity
로 감싼 FlutterLogo
위젯을 선언하고, 버튼을 누를 때마다 _visible
값을 토글하여 페이드 인/아웃 효과를 적용하고 있습니다.
마무리
이렇게 간단히 AnimatedOpacity
를 사용하여 페이드 인/아웃 애니메이션을 구현할 수 있습니다. 이러한 애니메이션을 적절히 활용하여 Flutter 애플리케이션을 더 생동감 있게 만들어보세요.
참고 자료: Flutter 공식 문서 - AnimatedOpacity