Flutter 按钮主题

AVE*_*imi 0 themes styling material-design flutter

我正在使用 Theme 为 Flutter 应用程序设计样式。关于 Button,ButtonThemeData.buttonColorButtonThemeData.colorScheme.primary 有什么区别?

Ovi*_*diu 5

创建ThemeData对象时,如果buttonTheme未指定,它将从其他属性(如buttonColor. 如果buttonColor未指定,它将是 的阴影primarySwatch。如果primarySwatch未指定,它将是Colors.blue

同样,如果colorScheme未指定,它将从其他属性构建,例如primarySwatch,在这种情况下colorScheme.primary获取 的值primarySwatch,这是Colors.blue默认值。

至于框架如何将它们用于小部件:

  • buttonColor 实际上没有在任何地方使用。
  • buttonTheme.buttonColor用于RaisedButton, FlatButton,OutlineButton
  • colorScheme.primary 用于滑块、切换开关、小吃店以及几个 Cupertino 小部件。

还有一些其他属性ThemeData旨在通过引入colorScheme对象而变得多余,但它们并未被弃用,因此非常令人困惑。