0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Flutter】FlutterでCupertinoThemeDataを使用したiOSテーマスタイルの作成

Last updated at Posted at 2020-12-06

この記事は「HTC Advent Calendar 2020」の6日目の記事です。
今回は、FlutterのWidgetsの1つである「Cupertino widegets」について書いていきます。

FlutterでiOSライクなアプリを作ろうとした際に、CupertinoAppウィジェットのCupertinothemeDataについて調べた内容になります。

#Cupertino ウィジェット
Flutterといえば、マテリアルデザインを想像する方が多いと思いますが、実はCupertinoというiOS風のウィジェットも提供しています。
読み方は「クパチーノ」で、Apple本社のあるクパチーノ由来の命名のようです。

#Flutterにおけるテーマ
簡単に説明すると、Flutterでアプリ全体を統一感のあるデザインにできる仕組みです。
この仕組みを使うことで、デザインを一箇所で統一的に管理できます。例えば、iOSのステータスバーの色やテキストの色が気に入らなければカスタマイズできます。また、ダークモード用のプロパティも用意されており、簡単に実装できるようになっています。

#iOSテーマスタイルの作成

Cupertinoウィジェットを使用するために、パッケージの導入を行います。

main.dart
import 'package:flutter/cupertino.dart';

CupertinoAppウィジェットを作成し、CupertinoThemeDataでテーマの指定を行います。
CupertinoAppウィジェットは、Material ComponentのMaterialAppウィジェットの代わりになるウィジェットです。MaterialAppウィジェットとほとんど同じプロパティを持ちます。

main.dart
import 'package:flutter/cupertino.dart';

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return CupertinoApp(
        theme: CupertinoThemeData(
            barBackgroundColor: CupertinoColors.lightBackgroundGray,
// ・・・省略
  }
}

上記のコードの例では、barBackgroundColorを変更することでナビゲーションバーの背景色をライトグレーに変更しています。
CupertinoThemeDataの主なプロパティは以下に記載しておきます。

barBackgroundColor: 上部のナビゲーションバーと下部のタブバーの背景色を変更できます。
brightness: アプリの全体の明るさを変更できます。
primaryColor: アプリの基本となる色を変更できます。
textTheme: Cupertinoウィジェットで使用されるテキストのスタイルを変更できます。

画面上ではこのような色になります。
他にもCupertinoIconThemeDataを使用すれば、アイコンのテーマ変更も可能となります。
ss 2020-12-06 23.31.56.png

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?