[flutter] velocity_x를 사용하여 어떻게 폴더 애니메이션을 만들 수 있는가?

Flutter는 Google에서 개발한 모바일 애플리케이션 개발 프레임워크로, 다양한 UI 요소를 구현할 수 있습니다. velocity_x는 Flutter의 확장 라이브러리 중 하나로, 편리하게 애니메이션을 구현할 수 있게 도와줍니다. 이번 블로그 포스트에서는 velocity_x를 사용하여 폴더 애니메이션을 만들어보겠습니다.

1. velocity_x 설치

먼저, 해당 프로젝트에서 velocity_x를 사용하기 위해 라이브러리를 설치해야 합니다. pubspec.yaml 파일에 다음 dependencies를 추가해주세요.

dependencies:
  flutter:
    sdk: flutter
  velocity_x: ^0.3.0

그리고 나서, 터미널에서 다음 명령어를 실행하여 의존성을 업데이트해주세요.

flutter packages get

2. 애니메이션 구현하기

폴더 애니메이션을 만들기 위해, velocity_x의 VxAnimatedBox 위젯을 사용할 것입니다. 이 위젯은 자동으로 크기 및 위치 등의 속성을 애니메이션화시키는 기능을 제공합니다.

VxAnimatedBox(
  duration: Duration(milliseconds: 500),
  child: Container(
    height: 200,
    width: 200,
    color: Colors.blue,
  ),
).expand()

위의 코드에서는 폴더 모양의 파란색 컨테이너를 만듭니다. VxAnimatedBoxduration 속성을 통해 애니메이션의 지속 시간을 설정할 수 있고, child에는 폴더의 내용이 들어갑니다.

expand() 메서드를 사용하여 화면을 채우는 전체 영역을 차지하도록 할 수 있습니다.

3. 사용해보기

위에서 작성한 애니메이션을 사용하기 위해, 다음과 같은 코드를 메인 위젯에 추가합니다.

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("폴더 애니메이션"),
      ),
      body: Column(
        children: [
          SizedBox(height: 100),
          VxAnimatedBox(
            duration: Duration(milliseconds: 500),
            child: Container(
              height: 200,
              width: 200,
              color: Colors.blue,
            ),
          ).expand(),
          SizedBox(height: 100),
        ],
      ),
    );
  }
}

이제 애니메이션이 포함된 화면이 보여질 것입니다. 애니메이션의 지속 시간인 500ms를 조정하여 원하는 애니메이션 효과를 얻을 수 있습니다.

velocity_x는 다양한 애니메이션 및 UI 구성 요소를 제공하므로, 자세한 내용은 공식 문서를 참조해주세요.

참고 자료