2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[flutter] 一貫性のある色使いの実現

Last updated at Posted at 2024-03-17

1. ColorSchemeの作成

  • ColorSchemeの作成ColorSchemeクラスを利用し、アプリ全体で使う色の基盤を作成する。

  • fromSeedでの自動生成:シードカラーを基に、一貫したカラースキームを自動で生成する。

    ColorScheme colorScheme = ColorScheme.fromSeed(
      seedColor: Colors.blue,
    );
    

2. テーマデータのカスタマイズ

  • ThemeDataでのテーマ作成:作成したカラースキームをThemeDataに組み込み、アプリのテーマとしてカスタマイズする。

    ThemeData themeData = ThemeData(
      colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
    );
    

3. MaterialAppへのテーマ適用

  • テーマの統合MaterialAppthemeプロパティを使用して、カスタマイズしたテーマデータをアプリ全体に適用する。

    MaterialApp(
      theme: themeData,
      home: MyHomePage(),
    );
    

4. コンポーネントへの実装

  • テーマから色の取り出しTheme.of(context)を通じて、テーマデータから色を取り出し、UIコンポーネントに適用する。

    Container(
      color: Theme.of(context).colorScheme.primary,
      child: Text(
        'Hello, World!',
        style: TextStyle(color: Theme.of(context).colorScheme.onPrimary),
      ),
    );
    

ColorSchemeのプロパティ

プロパティ 説明
primary アプリケーションの主色。重要な要素に使用。
onPrimary primary色の上のテキストやアイコンの色。
primaryContainer primaryのコンテナバリエーション。
onPrimaryContainer primaryContainer上のテキストやアイコンの色。
secondary アプリケーションの補助色。アクセントや強調に用いられる。
onSecondary secondary色の上のテキストやアイコンの色。
secondaryContainer secondaryのコンテナバリエーション。
onSecondaryContainer secondaryContainer上のテキストやアイコンの色。
background アプリケーションの背景色。
onBackground background色の上のテキストやアイコンの色。
surface UI要素の背景色、例えばカードやメニュー。
onSurface surface色の上のテキストやアイコンの色。
error エラーを示す要素に使用される色。
onError error色の上のテキストやアイコンの色。
brightness 全体の明るさ。Brightness.lightまたはBrightness.dark
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?