Один из способов сделать это - определить buttonTheme
в 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
Тема выбора кнопкиСтиль, определенный в theme