flutter - Flutter Theme FlatButton textColor in ButtonBar
问题描述
升级 Flutter 到版本后:[✓] Flutter (Channel master, v0.10.2-pre.82)
primaryColor 已从我的 FlatButton 中消失。
小部件:
new ButtonTheme.bar(
// make buttons use the appropriate styles for cards
child: new ButtonBar(
children: <Widget>[
new FlatButton(
child: const Text('DISMISS'),
onPressed: () {/* ... */},
),
new FlatButton(
child: const Text('LEARN MORE'),
onPressed: () {/* ... */},
),
],
),
),
主题:
final originalTextTheme = ThemeData.light().textTheme;
final originalButtonTheme = ThemeData.light().buttonTheme;
final originalBody1 = originalTextTheme.body1;
return ThemeData.light().copyWith(
primaryColor: Colors.green[700],
accentColor: Colors.green[500],
buttonColor: Colors.grey[800],
buttonTheme: originalButtonTheme,
textTheme: originalTextTheme.copyWith(
body1:
originalBody1.copyWith(decorationColor: Colors.transparent)));
如何为我的 FlatButtons 的 textColor 设置主题?
解决方案
如果您希望您FlatButton
的textColor
与 相同ThemeData.primaryColor
,您还需要设置ColorScheme.primary
相同的值。
const primaryColor = Colors.deepOrange;
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
primaryColor: primaryColor,
colorScheme: ColorScheme.light(
primary: primaryColor, // -------> This will be your FlatButton's text color
),
accentColor: Colors.amber,
),
title: 'YourAwesomeApp',
home: Scaffold(
body: PageWithFlatButtons(),
),
);
}
}
class PageWithFlatButtons extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
alignment: Alignment.center,
child: ButtonBar(
alignment: MainAxisAlignment.center,
children: <Widget>[
new FlatButton(
child: const Text('DISMISS'),
onPressed: () {},
),
new FlatButton(
child: const Text('LEARN MORE'),
onPressed: () {},
),
],
),
);
}
}
推荐阅读
- php - 为什么我在网站的每个页面上都有不同的 session_id?
- c# - 有没有办法在本地而不是全局执行低级键盘进程或低级鼠标进程?
- git - 输入密码后 git push 挂起
- javascript - 为什么在连接建立之前`websocket.close()`会触发`onerror`?
- java - 使用 for 循环制作多个 drawLine 形状
- assembly - 攻击实验室阶段的分段错误5
- algorithm - 将玩家划分为“赢家”和“输家”:如何证明贪婪解决方案给出了最优结果?
- widget - 在散景中创建侧面板以显示悬停数据点的详细信息
- php - HTML,PHP 问题
- c# - 如何对忘记的密码进行排序以尝试暴力破解