【2024年4月】弊社では、基本リモートワークで一緒に成長してくださるメンバーを広く募集させていただいております。 詳細はこちら

【Flutter】簡単にアイコン付き&文字とアイコン付きヘッダータブ作成(TabBar)からスクロールしてタブ切り替え(TabBarView)を実装する方法

【Flutter】簡単にアイコン付き&文字だけヘッダータブの作成(TabBar)からスクロールしてタブ切り替え(TabBarView)を実装する方法
いちの

こんばんは〜
弊社ブログに辿り着いていただきありがとうございます!
株式会社メモリアインクのいちのです

この記事を読んでわかること

  • 文字だけのヘッダータブ作成方法
  • 文字とアイコン付きヘッダータブ作成方法
  • TabBarViewを使ったタブのスクロールによる切り替え方法

開発環境

  • Dart 3.0.0
  • Flutter 3.10.0
目次

文字だけのヘッダータブ作成

文字だけのヘッダータブを作成する場合、TabBarウィジェットを使用します。Tabウィジェット内にテキストを配置することでタブ内に文字列を表示させることができるのです。

サンプルコード

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: DefaultTabController(
        length: 3,
        child: Scaffold(
          appBar: AppBar(
            bottom: TabBar(
              tabs: [
                Tab(text: 'Tab 1'),
                Tab(text: 'Tab 2'),
                Tab(text: 'Tab 3'),
              ],
            ),
          ),
          body: TabBarView(
            children: [
              Icon(Icons.directions_car),
              Icon(Icons.directions_transit),
              Icon(Icons.directions_bike),
            ],
          ),
        ),
      ),
    );
  }
}

解説

  • DefaultTabController: タブの数とタブの内容を管理します。
  • Scaffold: アプリケーションの基本的なビジュアルレイアウト構造を提供します。
  • AppBar: アプリケーションバーを表示し、そのbottomプロパティにTabBarを配置します。
  • TabBar: 文字だけのタブを作成し、それぞれのタブにはTabウィジェットを使用してラベルを設定します。
  • TabBarView: 各タブの内容を表示するウィジェットで、ここではシンプルなアイコンを使用していますが、実際には任意のウィジェットを配置できます。

動作確認

いちの

実際の画面を確認してみましょ〜

【Flutter】簡単に文字列だけのヘッダータブ(TabBar)を作成しスクロールしてタブ切り替え(TabBarView)をする

文字とアイコン付きヘッダータブ作成

アイコン付きヘッダータブを作成するには、TabBarウィジェットを使用します。また、Tabウィジェット内にアイコンと文字列を設定することで、文字とアイコン付きのヘッダータブを作成することができるのです。

サンプルコード

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: DefaultTabController(
        length: 3,
        child: Scaffold(
          appBar: AppBar(
            bottom: TabBar(
              tabs: [
                Tab(icon: Icon(Icons.directions_car), text: 'Car'),
                Tab(icon: Icon(Icons.directions_transit), text: 'Transit'),
                Tab(icon: Icon(Icons.directions_bike), text: 'Bike'),
              ],
            ),
          ),
          body: TabBarView(
            children: [
              Icon(Icons.directions_car),
              Icon(Icons.directions_transit),
              Icon(Icons.directions_bike),
            ],
          ),
        ),
      ),
    );
  }
}

解説

  • このサンプルでは、Tabウィジェットにiconプロパティを追加してアイコンを設定しています。
  • 各タブは、対応するアイコンとテキストラベルを持ち、ユーザーにより豊かな視覚情報を提供します。
  • TabBarViewの内容は前述と同じで、タブに応じて異なるアイコンを表示しますが、これはウィジェットを使用してさらにカスタマイズ可能です。

動作確認

いちの

実際の画面を確認してみましょ〜

【Flutter】簡単に文字列とアイコン付きのヘッダータブを作成(TabBar)しスクロール(TavBarView)させる

サイドメニュー(ドロワー)を簡単に実装し、切り替える方法にもご興味があるという読者様。以下の記事で分かりやすく丁寧に解説しておりますので、ぜひご一読いただけますと幸いです。

まとめ

この記事では、Flutter を使用して、文字だけのヘッダータブ及び文字とアイコン付きヘッダータブを作成し、TabBarViewを使ったスクロールによるタブの切り替え方法を簡単に解説いたしました。読者様の開発の手助けに少しでもなればと思いこの記事を書かせていただいております。

いちの

自分の成長を加速させるチャンスがどこかにあるかもしれません。
変化を恐れずに新たな環境に飛び込む勇気のある方は、
未経験からIT・Webエンジニアを目指すなら【ユニゾンキャリア】
をオススメします。

フッタータブの作成方法とタブの切り替え方法についてもご興味のある方はこちらの記事がオススメです

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメント一覧 (4件)

コメントする

目次