[flutter] 스택드 위젯을 사용하여 애니메이션 효과 주기
이번 포스팅에서는 Flutter의 스택(Stack) 위젯을 사용하여 애니메이션 효과를 주는 방법에 대해 알아보겠습니다.
1. 스택(Stack) 위젯이란?
스택(Stack) 위젯은 다른 위젯을 배치하는 데 사용되는데, 위젯들을 겹쳐서 쌓을 때 유용합니다. 이 때문에 애니메이션 효과들을 만들 때 자주 활용됩니다.
2. 애니메이션 효과 주기
아래는 AnimatedOpacity 위젯을 사용하여 위젯의 투명도를 조절하여 애니메이션 효과를 줄 수 있는 간단한 예제 코드입니다.
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
bool _visible = true;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Stack Animation'),
),
body: Center(
child: Stack(
children: <Widget>[
Container(
width: 200,
height: 200,
color: Colors.blue,
),
AnimatedOpacity(
opacity: _visible ? 1.0 : 0.0,
duration: Duration(seconds: 1),
child: Container(
width: 200,
height: 200,
color: Colors.red,
),
),
],
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
_visible = !_visible;
});
},
tooltip: 'Toggle Opacity',
child: Icon(Icons.flip),
),
);
}
}
위 코드는 빨간색 정사각형이 파란색 정사각형 위에 겹쳐져서 표시되고, _visible 부울 변수를 수정하여 애니메이션 효과를 적용하는 예제입니다.
Flutter의 스택(Stack) 위젯을 사용하여 애니메이션 효과를 주는 방법에 대해 알아보았습니다. 여러분도 이러한 기술을 사용하여 멋진 사용자 경험을 제공할 수 있을 것입니다.
더 많은 정보는 Flutter 공식 문서에서 확인할 수 있습니다.