ButtonBar 中的 Flutter 主题 FlatButton textColor

标签 flutter themes flutter-layout

将 Flutter 升级到版本后:
[✓] Flutter (Channel master, v0.10.2-pre.82)

我的 FlatButton 中的primaryColor 已经消失了。

小部件:

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 设置主题?

最佳答案

如果您想要您的 FlatButtontextColorThemeData.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: () {},
          ),
        ],
      ),
    );
  }
}

关于ButtonBar 中的 Flutter 主题 FlatButton textColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53035466/

相关文章:

dart - flutter 中的导航器错误(抽屉按钮注销)

flutter - 如何将命令行参数(如 "-FIRAnalyticsDebugEnabled")传递给 flutter 应用程序

visual-studio-code - VSCode for Flutter 中的颜色和图标预览扩展

firebase - 如何基于Flutter中FutureBuilder中另一个Firebase查询的值从Firebase查询获取数据?

php - 如何更改magento电子商务的主题?

android - 每当我滚动时,ListView 都会重新绘制背景颜色

java - 点击 Android 对话框外部以将其关闭?

Flutter 可缩放小部件

flutter - 如何在焦点上更改 TextField textLable 颜色

flutter - Flutter:如何在透明容器中添加阴影?