Flutterにはアプリ全体のカラーリングを設定できるTheme
Widgetがある。
基本的な使い方はMaterialApp
のtheme
に自作のThemeData
を渡すこと。これだけで配下のMaterial
Component全体のテーマを変更できるのだが、さらにStatefulWidget
でThemeData
を動的に変更できるようにするとアニメーションを加えた上でテーマを変えてくれる機能までついている。
動的なThemeの変更の実装例
MaterialApp
のtheme
にprimarySwatch
とbrightness
を動的に変更できるようにしてみた例。
primarySwatch
にはMaterialColor
のリストから選べるように、brightness
にはダークテーマにするかをSwitch
で選べるようにした。色やダークテーマの変更を行うとアニメーション付きで切り替わってくれる。
Flutterを使ったアプリをリリースしてます。良ければ使ってみてください。