[flutter] 플러터 Lottie로 심리 테스트 앱의 결과 애니메이션 구현하기

lottie-flutter

플러터는 크로스 플랫폼 모바일 앱 개발을 위한 프레임워크로, 다양한 UI와 애니메이션을 손쉽게 구현할 수 있습니다. Lottie는 디자이너가 제작한 After Effects 애니메이션을 앱에 쉽게 통합할 수 있는 라이브러리로, 심리 테스트 앱에 멋진 결과 애니메이션을 구현하기에 이상적입니다.

필요한 패키지 설치하기

Lottie를 플러터 프로젝트에 통합하기 위해서는 lottie 패키지를 설치해야 합니다. pubspec.yaml 파일에 다음 코드를 추가하세요:

dependencies:
  lottie: ^1.0.0

저장 후 패키지를 설치하려면 터미널에서 flutter packages get 명령을 실행하세요.

애니메이션 파일 준비하기

Lottie 라이브러리는 JSON 파일 형식의 애니메이션을 지원합니다. LottieFiles에서 다운로드할 수 있는 수많은 무료 또는 유료 애니메이션 중에서 선택할 수 있습니다. 원하는 애니메이션을 다운로드한 후, 프로젝트의 assets 폴더에 추가하세요.

애니메이션 구현하기

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

class ResultAnimation extends StatelessWidget {
  final String animationPath;
  
  ResultAnimation({this.animationPath});

  @override
  Widget build(BuildContext context) {
    return Lottie.asset(
      animationPath,
      height: 200,
      repeat: false,
      reverse: false,
      animate: true,
    );
  }
}

ResultAnimation 위젯은 애니메이션을 표시하기 위한 위젯입니다. 위젯을 사용하기 위해서는 animationPath로 애니메이션 파일의 경로를 전달해야 합니다. Lottie.asset 위젯을 사용하여 애니메이션을 화면에 표시합니다. height 속성을 사용하여 애니메이션의 크기를 조정할 수 있습니다. repeat은 애니메이션을 반복할지 여부를 나타내고, reverse 속성은 역방향으로 애니메이션을 재생할지를 결정합니다.

애니메이션 사용하기

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

class PsychTestResultPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('심리 테스트 결과'),
      ),
      body: Center(
        child: ResultAnimation(animationPath: 'assets/result_animation.json'),
      ),
    );
  }
}

PsychTestResultPage 위젯은 심리 테스트 결과를 표시하는 페이지입니다. ResultAnimation 위젯을 사용하여 애니메이션을 화면에 표시합니다. animationPath에는 애니메이션 파일의 경로를 전달합니다.

결론

플러터와 Lottie를 사용하여 심리 테스트 앱의 결과 애니메이션을 구현할 수 있습니다. Lottie를 사용하면 앱에 멋진 애니메이션을 손쉽게 통합할 수 있으므로, 앱의 사용자 경험을 향상시키는 데 큰 도움이 됩니다.

참고 자료: