Flutter에서는 RaisedButtorn을 사용하여 버튼을 만들 수 있습니다. 이번에는 RaisedButton에 애니메이션 효과를 추가하는 방법에 대해 알아보겠습니다.
1. 애니메이션 패키지 추가하기
RaisedButton의 애니메이션 효과를 추가하기 위해서는 flutter_animation_progressions
패키지를 사용해야 합니다. 먼저 pubspec.yaml
파일에 패키지를 추가합니다.
dependencies:
flutter_animation_progressions: ^0.1.3
이후 패키지를 가져옵니다.
import 'package:flutter_animation_progressions/flutter_animation_progressions.dart';
2. RaisedButton 애니메이션 적용하기
RaisedButton에 애니메이션을 적용하려면 AnimatedRaisedButton
위젯을 사용해야 합니다. 아래는 예시입니다.
class AnimatedButton extends StatefulWidget {
@override
_AnimatedButtonState createState() => _AnimatedButtonState();
}
class _AnimatedButtonState extends State<AnimatedButton>
with SingleTickerProviderStateMixin {
AnimationController _animationController;
@override
void initState() {
super.initState();
_animationController = AnimationController(
vsync: this,
duration: Duration(milliseconds: 500),
);
}
@override
void dispose() {
_animationController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return AnimatedRaisedButton(
animationProgression: AnimationProgression.ACCELERATE_DECCELERATE,
onPressed: () {
if (_animationController.isCompleted) {
_animationController.reverse();
} else {
_animationController.forward();
}
},
child: Text('Animated Button'),
animationController: _animationController,
size: Size(200, 50),
);
}
}
위의 예시 코드에서는 AnimatedRaisedButton
위젯을 사용하여 RaisedButton에 애니메이션 효과를 적용했습니다. AnimatedRaisedButton
위젯의 속성인 animationProgression
을 설정하여 애니메이션의 진행 방식을 설정할 수 있습니다. onPressed
콜백 함수에서는 애니메이션을 제어할 수 있도록 설정하였습니다.
3. 애니메이션 확인하기
위에서 작성한 AnimatedButton
위젯을 화면에 추가하여 애니메이션을 확인할 수 있습니다.
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Animation Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text('Flutter Animation Demo'),
),
body: Center(
child: AnimatedButton(),
),
),
);
}
}
AnimatedButton
위젯을 Center
위젯으로 감싸서 가운데 정렬하여 화면에 표시하였습니다.
이제 애니메이션 효과가 추가된 RaisedButton을 확인할 수 있습니다.
결론
지금까지 Flutter에서 RaisedButton에 애니메이션 효과를 추가하는 방법에 대해 알아보았습니다. flutter_animation_progressions
패키지를 사용하여 간단하게 애니메이션을 적용할 수 있습니다. 이를 응용하여 다양한 애니메이션 효과를 추가할 수 있습니다.