RaisedButton
とFlatButton
をElevatedButton
とTextButton
に移行した際に気づいたことを書いておきます。
廃止されたRaisedButtonとFlatButtonの背景色とテキストの色を設定するプロパティはほぼ同じだったのですが、それぞれを後継すると思われるウィジェットでは、色を設定するプロパティに以下のような微妙な差があります。
RaisedButtonとFlatButton
- ボタンの背景色は、
color
プロパティで設定 - テキストの色は、
Text
ウィジェットのcolor
プロパティで設定
ElevatedButton
- ボタンの背景色は、
ElevatedButton.styleFrom
のprimary
プロパティで設定 - テキストの色は、
Text
ウィジェットのcolor
プロパティで設定
TextButton
- ボタンの背景色は、
TextButton.styleFrom
のbackgroundColor
プロパティで設定 - テキストの色は、
TextButton.styleFrom
のprimary
プロパティで設定
まとめ
ElevatedButton.styleFrom
のprimary
プロパティが、ボタンの背景色を指すのに対し、TextButton.styleFrom
のprimary
プロパティはテキスト色を指しています。
RaisedButton
のcolor
プロパティの値を、ElevatedButton.styleFrom
のprimary
プロパティに適用していたのですが、その調子で、TextButton
の移行もやっていたら、想定していたスタイルが適用されず混乱してしまいました。
TextButton.styleForm
で背景色を変更する場合は、backgroundColor
プロパティで色を指定してあげましょう。