FlutterとMaterial3どすこい
View Slide
自己紹介● どすこい(@dosukoi_android)● 技術統括部プロダクト開発部モバイルグループ所属
今日話すこと● Material3とは○ カラーパレット○ タイポグラフィー● FlutterにおけるMaterial3の使い方○ App Bar○ Button○ Card○ Dialog
Material3とはGoogleが提唱するデザインシステムの最新バージョン従来のデザインよりも、モダンでダイナミックなデザインが特徴
カラーパレットより多様な色のバリエーションを提供するために、カラーパレットが大きく増えたライトモードやダークモードに対応したカラーパレットも用意されている
タイポグラフィー● H1~6● Subtitle1~2● Body1~2● Button● Caption● Overline● Display● Headline● Title● Label● BodyそれぞれがLarge, Medium, Smallの3種類を持つ従来のMaterial Design Material3
FlutterにおけるMaterial3の使い方● useMaterial3をtrueに設定する● (デフォルトだと)primarySwatchが設定されているので、それを消してcolorShcemeSeedやcolorSchemeを指定する
どれくらい変わるの?
App Barelevation = 0 elevation = 4
Floating Action Button
Card
Dialog
でも常にデフォルトカラーを使うわけではないよね?
カラースキーマの設定大体4通り● ColorScheme()● ColorScheme.light() or ColorScheme.dark()● ColorScheme.fromSwatch● ColorScheme.fromSeed
ColorScheme()● primary○ アプリで最も使われる色● onPrimary○ primaryの上のコンポーネントの色○ Textの色とか● secondary○ アクセントに使われる色● onSecondary○ secondaryの上のコンポーネントの色● error○ エラー時に使う色● onError○ errorの上のコンポーネントの色● background○ 背景色● onBackground○ backgroundの上のコンポーネントの色● surface○ Cardとかの背景色● onSurface○ surfaceの上のコンポーネントの色最低限必要なのはこの10個
ColorScheme.light() or ColorScheme.dark()ほぼColorSchemeのprimary constructorと一緒ただし、デフォルト値が設定されてるのでちゃんと設定しないと一部だけ変な色になってしまうので注意
そもそもSwatchって何?A color that has a small table of related colors called a "swatch".同じような色合いを50, 100~900の10段階に分けたもの数字が大きくなるほど濃くなっていくColorScheme.fromSwatch
ColorScheme.fromSwatch
デフォルト値だとこうなるので、ちゃんと値を設定してあげないといけないColorScheme.fromSwatch
seedColorからいい感じのカラーパレットが生成される右の画像はFF0000(red)をseedColorに与えたものColorScheme.fromSeed
Theme.of(context).colorScheme.primaryこれだけでOKただ実際にprimaryやonPrimaryなどにどんな色が当てられてるのかがわかりにくいので、カタログアプリを作るとわかりやすい設定したカラースキーマをどう使うの?
設定したカラースキーマをどう使うの?
愉快なMaterial3ライフを!