[flutter] AnimatedContainer의 이동 속성을 이용한 이동 애니메이션 구현하기

Flutter의 AnimatedContainer는 UI 요소의 속성을 부드럽게 애니메이션화할 수 있는 편리한 기능을 제공합니다. 이 기능을 이용하여 UI 요소를 부드럽게 이동하는 애니메이션을 구현할 수 있습니다.

이 포스트에서는 AnimatedContainer의 이동 속성을 활용하여 간단한 이동 애니메이션을 구현하는 방법을 알아보겠습니다.

AnimatedContainer 소개

AnimatedContainer는 Flutter의 애니메이션 기능을 제공하는 위젯으로, 크기, 색상, 모양 등의 속성을 변경할 때 애니메이션 효과를 주는 데 사용됩니다.

이동 애니메이션 구현하기

먼저, 이동 애니메이션을 구현하기 위해 AnimatedContainer를 사용하여 UI 요소를 이동시킬 수 있습니다.

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 _isMoved = false;

  void _moveContainer() {
    setState(() {
      _isMoved = !_isMoved;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('이동 애니메이션'),
      ),
      body: Center(
        child: GestureDetector(
          onTap: _moveContainer,
          child: AnimatedContainer(
            duration: Duration(seconds: 1),
            curve: Curves.easeIn,
            width: _isMoved ? 200 : 100,
            height: _isMoved ? 200 : 100,
            color: _isMoved ? Colors.blue : Colors.red,
            alignment: _isMoved ? Alignment.center : Alignment.bottomRight,
            child: Text('이동', style: TextStyle(color: Colors.white)),
          ),
        ),
      ),
    );
  }
}

위의 코드는 AnimatedContainer를 사용하여 터치 이벤트에 따라 UI 요소를 부드럽게 이동하는 애니메이션을 구현한 예시입니다.

결론

Flutter의 AnimatedContainer를 이용하면 UI 요소의 속성을 변경할 때 애니메이션 효과를 부드럽게 적용할 수 있습니다. 이를 활용하여 다양한 이동 애니메이션을 구현할 수 있으며, 사용자에게 더 나은 사용 경험을 제공할 수 있습니다.

이렇게 AnimatedContainer의 이동 속성을 활용하여 이동 애니메이션을 구현하는 방법을 알아보았습니다. Flutter의 다양한 애니메이션 기능을 활용하여 더 다채로운 사용자 인터페이스를 구현해보세요.