颤振按钮主题

时间:2020-02-11 04:38:05

标签: flutter material-design themes styling

我正在使用Theme来设计Flutter应用程序。 关于Button, ButttonThemeData.buttonColor ButtonThemeData.colorScheme.primary 有什么区别?

1 个答案:

答案 0 :(得分:4)

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

类似地,如果未指定colorScheme,它将根据其他属性(例如primarySwatch)构建,在这种情况下,colorScheme.primary的值为primarySwatch,即默认为Colors.blue

关于框架如何将其用于小部件:

  • buttonColor实际上没有在任何地方使用。
  • buttonTheme.buttonColor用于RaisedButtonFlatButtonOutlineButton
  • colorScheme.primary用于滑块,切换,小吃条以及几个Cupertino小部件。

ThemeData的其他一些属性本来是由于引入colorScheme对象而变得多余的,但是它们并没有被弃用,因此相当混乱。