[flutter] 플러터 Lottie로 구독 앱의 결제 애니메이션 추가하기

구독 앱에서 사용자들이 결제를 완료했을 때, 화려하고 매력적인 애니메이션을 추가할 수 있다면 얼마나 멋질까요? 플러터 프레임워크를 사용하여 이를 실현해볼 수 있습니다. 이번 글에서는 플러터의 Lottie 패키지를 활용하여 구독 앱에 결제 애니메이션을 추가하는 방법에 대해 알아보겠습니다.

1. Lottie란?

Lottie는 Airbnb에서 개발한 오픈소스 라이브러리로, 애니메이션을 담당하는 JSON 파일을 사용하여 크로스 플랫폼 애니메이션을 제작할 수 있습니다. Lottie는 After Effects를 사용하여 디자인한 애니메이션을 가져와서 앱 내에서 사용할 수 있게 해줍니다. 플러터에서 Lottie를 사용하면 사용자들에게 더 생생하고 화려한 애니메이션을 제공할 수 있습니다.

2. Lottie 패키지 설치하기

프로젝트에 Lottie 패키지를 추가하기 위해서는 pubspec.yaml 파일에 아래와 같은 의존성을 추가해야 합니다.

dependencies:
  flutter:
    sdk: flutter
  lottie: ^1.0.1

의존성을 추가한 후, flutter pub get 명령어를 실행하여 패키지를 설치합니다.

3. JSON 파일 가져오기

Lottie 패키지를 사용하기 위해서는 JSON 형식의 애니메이션 파일이 필요합니다. 이 파일은 After Effects에서 Lottie 플러그인을 사용하여 생성할 수 있습니다. Lottie 파일을 찾기 위해 Lottie 홈페이지(https://lottiefiles.com/)를 방문하거나, 커뮤니티에서 제공하는 여러 가지 애니메이션 파일을 활용할 수 있습니다. 원하는 애니메이션 파일을 다운로드하고 프로젝트의 assets 폴더에 저장합니다.

4. Lottie 애니메이션 위젯 추가하기

이제 Lottie 애니메이션 파일을 가져와서 화면에 출력해보겠습니다. 우선 해당 파일을 pubspec.yaml에 등록해야 합니다. pubspec.yaml 파일에서 flutter 섹션 하위에 assets가 아래와 같이 선언되어 있는지 확인합니다.

flutter:
  assets:
    - assets/

이제 Lottie 애니메이션을 출력할 위젯을 생성합니다.

import 'package:flutter/material.dart';
import 'package:lottie/lottie.dart';

class PaymentAnimation extends StatefulWidget {
  @override
  _PaymentAnimationState createState() => _PaymentAnimationState();
}

class _PaymentAnimationState extends State<PaymentAnimation> {
  @override
  Widget build(BuildContext context) {
    return Container(
      height: 300,
      width: 300,
      child: Lottie.asset(
        'assets/payment_animation.json',
        fit: BoxFit.cover,
      ),
    );
  }
}

이제 PaymentAnimation 위젯을 해당 화면에 추가하면 결제 애니메이션이 표시됩니다.

5. 애니메이션 사용하기

결제 완료 화면에 PaymentAnimation 위젯을 추가하여 사용하면 됩니다.

import 'package:flutter/material.dart';

class PaymentScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('결제 완료'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Text('결제가 완료되었습니다.'),
            PaymentAnimation(),
            // 다른 결제 정보 등을 출력하는 위젯들...
          ],
        ),
      ),
    );
  }
}

플러터 Lottie를 사용하여 구독 앱에 화려한 결제 애니메이션을 추가해보았습니다. 이제 사용자들은 앱에서 결제를 완료했을 때 멋진 애니메이션을 확인할 수 있습니다. 플러터의 다양한 패키지들을 활용하여 앱에 더욱 매력을 더해보세요!

참고: flutter_lottie 패키지