FlutterでAppBarの背景色をカスタマイズする

2024年6月23日日曜日

Flutter

t f B! P L

この記事ではAppBarの背景色を変更する方法を紹介します。

基本的なAppBarの設定

AppBarをカスタマイズする前に、基本的なAppBarのセットアップを見てみましょう。以下のコードは、シンプルなAppBarを持つ基本的なScaffoldを設定しています。

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('デフォルトのAppBar'),
        ),
        body: Center(
          child: Text('こんにちは、Flutter!'),
        ),
      ),
    );
  }
}

このコードは、デフォルトのテーマカラーである青色のAppBarを生成します。

AppBarの背景色を変更する

AppBarの背景色を変更するには、AppBarウィジェットのbackgroundColorプロパティを設定します。以下の例では、背景色を赤色に変更しています。

AppBar(
  title: Text('カスタムカラーのAppBar'),
  backgroundColor: Colors.red,
)

カラーの選択

Flutterでは、Colorsクラスを使用して簡単に色を指定することができます。Colorsクラスには様々な基本色が定義されており、これを利用することで、開発者は迅速にアプリのデザインを調整することが可能です。

AppBar(
  title: Text('グリーンのAppBar'),
  backgroundColor: Colors.green,
)

このように色を変えるだけで、アプリの印象を大きく変えることができます。

Flutterで全てのページにわたってAppBarの背景色を統一するには、アプリ全体のテーマをカスタマイズするのが効果的です。これにより、各ページでAppBarのスタイルを個別に設定する必要がなくなり、コードの重複を避けることができます。以下に、全ページで統一されたAppBarの背景色を設定する方法を説明します。

アプリ全体のテーマでAppBarの背景色を設定する

Flutterでは、MaterialAppウィジェットを使用してアプリレベルでテーマを設定することができます。themeプロパティを通じて、アプリケーションの基本的なスタイルを定義することが可能です。以下の例では、アプリ全体のAppBarに赤色の背景を設定しています。

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        // AppBarのデフォルトスタイルを定義
        appBarTheme: AppBarTheme(
          backgroundColor: Colors.red, // AppBarの背景色を赤に設定
        ),
      ),
      home: HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('ホームページ'),
      ),
      body: Center(
        child: Text('これはホームページです。'),
      ),
    );
  }
}

文字色もアプリ全体のテーマで設定する

背景色に加えて文字色も指定する場合は、foregroundColorプロパティを指定します。これで、濃い背景色に対して、白文字のAppBarをアプリ全体のページにわたって適用できます。

class MyApp extends StatelessWidget {
  
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData(
        // AppBarのデフォルトスタイルを定義
        appBarTheme: AppBarTheme(
          backgroundColor: Colors.black, 
          foregroundColor: Colors.white,  //文字色を白に設定
        ),
      ),
      home: HomePage(),
    );
  }
}

<実行結果>

enter image description here

このように、FlutterではThemeDataを使ってアプリ全体のテーマを簡単に管理し、すべてのページで一貫したデザインを保持することが可能です。

まとめ

AppBarの背景色をカスタマイズすることは、Flutterでのアプリ開発において非常に簡単な方法でありながら、ユーザーにとって第一印象を大きく左右する要素です。この機能を活用して、より魅力的で使いやすいアプリを設計しましょう。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ