flutterでアニメーションの作り方を探している方向け。

コピペで簡単にアニメーションが実装できるLottieライブラリの使い方をデモコード付きでわかりやすく解説します。

Lottieを使って簡単にアニメーションを作ろう!

目次

この記事は以下のような方を対象者としています。

本記事の対象者

  • flutter初学者の方
  • flutterでアニメーションのやり方を探している方
  • flutter+Lottieライブラリの組み込み方を探している方

今回作るflutter+lottieアニメーション

tranquilpeak

今回の記事ではこちらのLottieアニメーションをflutterで実装していきたいと思います。

前置き:Lottieアニメーションライブラリとは?

LottieアニメーションライブラリはAirbnb(民泊アプリ)が開発したアニメーションの作成・配布ができるサービスです。

jsonの形式で作成されたデータをWebアプリやモバイルアプリに簡単に組み込むことができます。

このLottieライブラリの特徴はアニメーション制御のコーディングなしで簡単にアニメーションを表示できることです。

また、商用利用も可能のためアプリやWebサービスに組み込むことも柔軟にできます。

それでは早速flutterでLottieアニメーションの組み込み方を説明します。


flutter+lottieでアニメーション実装その1 : アニメーションファイルのダウンロード

まずはLottieの公式サイトにアクセスしてください。

(アカウント未作成の方は無料で作れますので作成してください。)

すると下記画像のようなアニメーション一覧画面が表示されます。
Tranquilpeak

今回は一番右に表示されているアニメーションをflutterアプリに組み込みます。

組み込みたいアニメーションをクリックし、画面上部のダウンロード→Lottie Jsonをクリックしてください。
Tranquilpeak

これでLottie jsonデータをダウンロードできます。

flutter+lottieでアニメーション実装その2 : プロジェクトファイルを作成

まずはflutterのプロジェクトを自分のローカル上に作成しましょう。

まずはターミナルを開き下記コマンドを実行してください。

1
2
<!-- デスクトップ上にliquid-animationというflutterプロジェクトフォルダを作成 -->
 ~ $ flutter create ~/Desktop/lottie-animation

flutter+lottieでアニメーション実装その3 : lottieアニメーションファイルを配置

先ほど作ったプロジェクトファイルを開き、libフォルダと同じ階層にassetsフォルダを作成します。

Tranquilpeak

そしてその中に先ほどダウンロードしたLottie Jsonファイルを格納します。

flutter+lottieでアニメーション実装その4 : pubspec.yamlファイルの修正

続いてコードから先ほど配置したLottieデータにアクセスするために、pubspec.yamlファイルを修正します。

pubspec.yamlとはパッケージ管理ファイルです。

pubspec.yamlはプロジェクトフォルダ直下に存在します。

50行目あたりにassetsとコメントアウトで書いてある箇所があると思います。

そちらを下記の通り修正してください。

pubspec.yaml
1
2
3
<!-- To add assets to your application, add an assets section, like this: -->
  assets:
    - assets/

上記ファイル保存後にターミナル上で下記コマンドを実行します。

1
flutter pub get

これでコード上からassetsフォルダ内のlottieデータにアクセスできるようになりました。

flutter+lottieでアニメーション実装その5 : dartコードの実装

続いてdartのコードを修正していきます。

プロジェクトフォルダ直下のlib/main.dartファイルを開き、下記コピペをしてください。

デフォルトの不要なコメントアウトやコードは全て削除しています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import 'package:flutter/material.dart';
<!-- 下記を追加 -->
import 'package:lottie/lottie.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    <!-- 下記を追加 -->
    return Scaffold(
        body: Center(
        child: Lottie.asset('assets/lottiefile.json'),
    ));
  }
}

あとはコードを保存して実際にビルドし実行してみましょう。

すると冒頭で添付したYoutube動画のようなアニメーションが画面中央に表示されていると思います。

※もし表示されなければ本記事にコメントください。

また、Lottieはアプリ内に組み込む他CDN等にJSONデータを配置しアクセスする方法でもアニメーションが表示できます。

さいごに

ここまでお読みいただきありがとうございました。

僕のブログサイト「kzy.tech〜日本脱出のための教科書〜」どのようなサービスで作られているかが気になる方は以下別記事にてご説明していますので、ご覧いただけますと小躍りして喜びます💃

【コピペOK】HUGOでアフィリエイト用ブログサイトを作ろう

手間暇かけずにサクッとアフィリエイト用のブログサイトを作りたいという方向け。

ある程度自由にカスタマイズできる、かつコマンド一つで 記事の自動生成ができる静的サイトジェネレータ「HUGO」についてまとめました。

また、海外移住の 英語とプログラミングを習得することを推奨しています。
これは私の経験則から言えることですが、上記二つのスキルがあれば海外移住は絶対に実現できます

以下に僕が実際に使って効率よくプログラミング学習ができるおすすめサービスを載せます😌

速習!おすすめプログラミング勉強法【Udemy】

いくつかプログラミング学習サービスを利用しましたが、一番効率よく勉強できると感じたのはUdemyでした。

Udemyでは動画での説明や解説等もあり親切で、学習教材も豊富にあることから プログラミング初学者の方が短期間でエンジニアを目指したいのであれば、非常に良い教材だと思います。

ちなみに私は文系卒で社会人になってから独学でudemyを使ってプログラミングの勉強をして、実際にエンジニアとして採用されました

Udemyのコースは1つ1,000円ほどなので、ITの参考本を一冊(3,000円)を買うよりもUdemyのコースを購入する方が安い上により効率的にプログラミングを勉強できると思います。
世界最大級のオンライン学習サイトUdemy

また、別記事にてダナンでの生活やIT関連についても記事を書いていますのでクリックいただけると嬉しくて踊ります💃

【Udemy】未経験から始める格安プログラミング講座4選

未経験だけどプログラミングを学んでエンジニアになりたい、社会人だから時間もそれほど多く無いので効率よく勉強したい。 私もその内の一人でした。今回の記事で最短でエンジニアになるためのおすすめUdemy講座4選をご紹介したいと思います。

【IT資格は無意味】未経験エンジニアがIT資格の勉強をおすすめしない4つの理由とは?

プログラミングを勉強し始めてIT資格を取ろうか悩んでいる方向け。 プログラミング未経験の方が資格勉強をされることは僕の経験上おすすめしません。 なぜ資格の勉強がプログラミング学習において、エンジニアの就活においてNGかこの記事で解説します。

【個人開発】副業でアプリを作りたいならサーバーは契約しない方がいい理由

個人で副業のためにアプリ開発をしてみたいと考えている方向け。 iOS/Androidの個人アプリ開発の場合データのやりとりを行うため、サーバを契約する人が多いです。 しかし、考えなしにサーバを契約するのは非常に大きなデメリットがあるため、私はあまりオススメしません。 ではどの様にしてお金をかけずにアプリ作りができるか、なぜFirebaseを使うべきなのかこの記事で解説していきます。

【海外にもある!?】海外就活でブラック企業を回避する方法

海外での就活を考えている方向けの記事です。 ブラック企業は日本企業のイメージがありますが、そんなことはありません。 日本の就活とは違う点、また海外の就活で失敗しないために事前に知っておいた方が良い情報を本記事にてまとめていきます。

【ダナンの物価】ダナン在住者が伝える2020年ベトナム最新状況!

最近観光地として人気が高まっているダナンですが、近年物価の変動が大きくなっていっているように感じます。 2019年〜2020年でのダナンの物価はどのようなものなのか、ダナン在住者として現地の声をお届けできればと思います

【残業大国】日本の異常な労働環境をベトナムで働いてみて実感した件

日本ってやっぱり「働く」ことに関しては異常ですよ。 「お客様は神様」精神、残業を美徳とする文化、過労死という言葉を作り出してしまう労働環境。 今回は日本の異常な労働環境をベトナムの労働環境と比較しながら説明したいと思います😱

【海外移住】ベトナムに移住したら日本の8億倍住みやすかった件

海外移住を始めて2年ほどが経過しました、日本に住んでいた時と今ベトナムに移住してからとでどのように生活が変わったのかをこちらの記事にまとめていこうと思います。

【ダナンの家賃】日本相場の半額以下!?ベトナム家賃相場調査!

ベトナム・ダナンへ移住を考えている方向け。 海外移住をする上で家賃相場を事前に知っておくことは生活費がどれくらいかかるのか計算ができるので非常に重要です。 こちらの記事で家賃相場、賃貸契約の流れ、賃貸契約時のトラブルについて解説していきます。

【おすすめ】Udemy講座でAWS ソリューションアーキテクト アソシエイトを一発合格できた件

AWS ソリューションアーキテクトの勉強をしている方向け。
Udemyでのおすすめ講座、一発合格のための勉強方法から受験の手順まで本記事でまとめました。
認定試験の受験を考えている方には必見です。

【python】文字認識で画像からテキストを出力するやり方をわかりやすく【Tesseract&PyOCR】

こんにちはkzyです。 今回は文字認識ライブラリのPyOCRとTesseractを使って画像からテキストを抽出したいと思います。 環境構築含めpythonでの文字認識のやり方を簡潔に説明できればと思います。

【コピペOK】flutterのSizedBoxとExpandedの違いをわかりやすく

flutterでオブジェクトのサイズ調整の理解が曖昧な方向け。 flutterでアプリ開発を行う際に頻出する項目の一つのため、この記事でなるべくわかりやすく解説します。

【python】文字認識したテキストをエクセルに出力するやり方をわかりやすく【PyOCR + XlsxWriter】

こんにちはkzyです。 今回はPyOCRで文字認識したテキストをエクセルに出力する方法を解説します。 具体的にはXlsxWriterというライブラリを使用してPythonスクリプトからエクセル操作を行います。