メインコンテンツへスキップ
  1. Posts/

【flutter】簡単!ナビゲーションバー用アニメーションのやり方を解説!【curved navigation bar】

loading · loading ·

他のアプリとの差別化を図るのであれば、アニメーション付きのナビゲーションバーを実装してみてはいかがでしょうか。

今回の記事ではぬるぬる動く新しいナビゲーションバー用アニメーション「curved navigation bar(カーブド ナビゲーションバー)」をご紹介します。

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

  • flutterを学習し始めたばかりの方
  • flutterでオシャレなナビゲーションバーを作りたい方
  • flutterでイケてるモバイルアプリを作りたい方

flutterのcurved navigation barとは!?
#

Alt text
カーブドナビゲーションバーの作り方

まずは、こちらのgif画像をご覧ください。

こちらが今回の記事で実装するcurved navigation bar(カーブドナビゲーションバー)の挙動になります。

オシャレなUIを持つアプリを作りたい場合などはcurved navigation barを入れるとアプリの魅力が増すと思います。

今回の記事では下記githubのコードを参考にさせていただきました。

curved_navigation_bar
https://github.com/rafalbednarczuk/curved_navigation_bar

curved navigation barを実装してみよう
#

それでは実際に自分の手元でコードを書いてビルドしてみましょう。

ご参考までに私の開発環境情報を記載します。

開発環境
  • OS : MacOS Big Sur
  • Chip : Apple M1
  • Memory : 8GB

その1 : curved-nagivation-bar用のプロジェクトファイルを作成
#

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

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

flutter create ~/Desktop/curved-navigation-bar

上記コマンドを実行すると、デスクトップ上にcurved-navigation-barというflutterプロジェクトフォルダが作成されます。

その2 : アニメーションライブラリのインストール
#

その次にcurved navigation barのライブラリをインストールしていきましょう。

flutterでプロジェクトにライブラリを追加するにはpubspec.yamlファイルを編集する必要があります

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

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

1
2
3
4
  flutter:
    sdk: flutter
 // 下記コードを追加(バージョンは常時最新バージョンを指定でOK)//
  curved_navigation_bar: 1.0.3

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

flutter pub get

これで自分のプロジェクトにcurved navigation barのライブラリのインストールができました。

その3 : curved navigation bar用ののコードを書く
#

これでflutterアプリ内で波形アニメーションを描画する準備ができました。

デフォルトで生成されるmain.dartにcurved navigation bar用のコードを書いて行きます。

 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
42
43
44
45
46
47
48
49
  
  import 'package:flutter/material.dart';
<!-- 下記でインストールしたライブラリを利用 -->
import 'package:curved_navigation_bar/curved_navigation_bar.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(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      bottomNavigationBar: CurvedNavigationBar(
        backgroundColor: Colors.blueAccent,
        items: <Widget>[
          Icon(Icons.add, size: 30),
          Icon(Icons.list, size: 30),
          Icon(Icons.compare_arrows, size: 30),
        ],
        onTap: (index) {
          //Handle button tap
        },
      ),
      body: Container(color: Colors.blueAccent),
    );
  }
}

こちらのソースコードをコピペし起動すると上記添付したgif画像と同じ挙動のアプリが表示されます。

さいごに
#

ここまでお読みいただきありがとうございました。
私のブログ記事を読んでいる方の中には海外転職・海外移住への興味がある方もいらっしゃるかと思います。

私自身ダナンで働き始めて7年目になりますが、海外就職を実現するために大事なのは英語力と開発現場で働いた経験だと感じました。

もし今後海外移住・海外就職を本気で実現させたい方はぜひこれらのサービスを活用してみてください。

レアジョブ - 実務で使える英語力を身につけよう
#

レアジョブ英会話は英会話力の向上に特化したサービスです。 私の友人もレアジョブを通じて0から学習を続け、現在はベトナム人のエンジニアとも英語でコミュニケーションが取れるレベルまで英会話力を伸ばすことができました。

レアジョブが選ばれる理由は多岐にわたりますが、主な理由としては下記3点が考えられます。

  • 優秀な講師陣:公用語が英語であるフィリピン人の方が講師となり、生きた英語を身につけることができる
  • 豊富な教材: 5,000以上の教材を提供しており、学習者のレベルや目的に応じて最適な教材を選べます。
  • 安心のサポート体制:初心者でも安心して始められるように、日本人カウンセラーが学習のサポートをしてくれます。

海外移住計画の第一歩として、スピーキング力を身につけたいと考えている方は、ぜひこちらの無料体験を試してみてはいかがでしょうか。

Related

【Flutter】リリースビルドで画面がグレー(灰色)になる現象の解決方法をわかりやすく解説
loading · loading
【アプリ開発】個人開発で広告収益を上げるための6つのポイントを解説
loading · loading
【Flutter】リワード広告をアプリ内に表示するやり方をわかりやすく解説【Admob】
loading · loading