有人可以帮助指出我们如何为按钮定义基本主题并将其用于每个按钮吗?我到处都只发现textTheme但没有buttonTheme示例?
textTheme
buttonTheme
甚至buttonTheme我们如何定义文本颜色?因为在按钮本身上,我们可以直接像color: Colors.blue
color: Colors.blue
做到这一点的方法之一是定义buttonTheme在theme中MaterialApp:
theme
MaterialApp
例如:
void main() { runApp(MaterialApp( home: Home(), theme: ThemeData( accentColor: Colors.redAccent, buttonTheme: ButtonThemeData( buttonColor: Colors.blueAccent, shape: RoundedRectangleBorder(), textTheme: ButtonTextTheme.accent, .... )), )); } class Home extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Button Theme"), backgroundColor: Colors.green), body: Center( child: RaisedButton( //Button Color is as define in theme onPressed: () {}, child: Text("Send"), //Text Color as define in theme )), ); } }
与此相关的所有在此下定义的按钮MaterialApp都将采用此主题样式。
文字颜色将是我accentColor定义的中的ThemeData定义,textTheme: ButtonTextTheme.accent因此它将选择accentColor
accentColor
ThemeData
textTheme: ButtonTextTheme.accent
按中定义的按钮选择主题样式 theme