Flutter는 매우 유연하고 강력한 UI 프레임워크로, 다양한 디자인 요소를 손쉽게 구현할 수 있습니다. 그 중에서도 Opacity 위젯은 UI 요소의 투명도를 조절하는 데 매우 유용한 도구입니다. 이 글에서는 Flutter AnimatedOpacity 위젯의 기본 사용법과 이를 활용한 다양한 예제를 소개합니다.
목차
Opacity 위젯이란?
Opacity 위젯은 자식 위젯의 투명도를 조절할 수 있는 위젯입니다. 간단히 말해, 이를 사용하면 특정 위젯을 부분적으로 투명하게 하거나 완전히 숨길 수 있습니다. 투명도를 설정하는 값은 0.0에서 1.0 사이의 double 타입으로, 0.0은 완전히 투명한 상태를, 1.0은 완전히 불투명한 상태를 나타냅니다.
사용법
Opacity 위젯을 애니메이션과 결합하면 더 다채로운 효과를 만들 수 있습니다. 예를 들어, 아래와 같이 AnimatedOpacity를 구현할 수 있습니다.
import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<MyApp> with SingleTickerProviderStateMixin { bool _visible = true; void _toggleOpacity() { setState(() { _visible = !_visible; }); } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text('Animated Opacity Example'), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ AnimatedOpacity( opacity: _visible ? 1.0 : 0.0, duration: Duration(seconds: 1), child: Container( width: 200, height: 200, color: Colors.red, ), ), SizedBox(height: 20), ElevatedButton( onPressed: _toggleOpacity, child: Text('Toggle Opacity'), ), ], ), ), ), ); } }
Opacity 위젯 사용 시 성능 이슈를 최소화하려면 Opacity 위젯 대신 FadeTransition 또는 AnimatedOpacity와 같은 애니메이션 위젯을 사용하는 것도 고려할 수 있습니다. 이러한 위젯은 더욱 최적화된 성능을 제공하며 애니메이션 효과도 쉽게 구현할 수 있습니다.