首页 > 解决方案 > Flutter中如何改变按钮主题的文字颜色

问题描述

如果我像这样向我的应用程序添加主题:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primaryColor: Color(0xff393e46),
        primaryColorDark: Color(0xff222831),
        accentColor: Color(0xff00adb5),
        backgroundColor: Color(0xffeeeeee),
        buttonTheme: ButtonThemeData(
          buttonColor: Color(0xff00adb5),
        )
      ),
      home: Scaffold(
        body: MyHomePage(),
      ),
    );
  }
}

如何更改按钮主题的文本颜色?

标签: buttontextcolorsflutterthemes

解决方案


如果你使用ButtonTextTheme.primaryFlutter 会自动为你选择合适的颜色。

例如,如果你buttonColor像这样制作黑暗

  ThemeData(
    . . . 
    buttonTheme: ButtonThemeData(
      buttonColor: Colors.deepPurple,     //  <-- dark color
      textTheme: ButtonTextTheme.primary, //  <-- this auto selects the right color
    )
  ),

在此处输入图像描述

文字自动变亮。如果你使buttonColor光,那么文字是黑暗的。

  ThemeData(
    . . . 
    buttonTheme: ButtonThemeData(
      buttonColor: Colors.yellow,         //  <-- light color
      textTheme: ButtonTextTheme.primary, //  <-- dark text for light background
    )
  ),

在此处输入图像描述


推荐阅读