Flutter 更改 FlatButton textColor

Posted

技术标签:

【中文标题】Flutter 更改 FlatButton textColor【英文标题】:Flutter change FlatButton textColor 【发布时间】:2020-06-29 05:43:50 【问题描述】:

在颤振和我的应用程序中,我试图在不使用 ThemeData 的情况下更改一些 FlatButton 文本颜色,因为在应用程序的某些部分我希望有白色文本颜色或红色的按钮, 如何正常设置此文本颜色?

例如:

FlatButton(
    color: Colors.black,
    textColor: Colors.white,
    child: Text(
      'login'
    ),
    onPressed: () 
    shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(50.0))),

FlatButton(
    color: Colors.yellow,
    textColor: Colors.red,
    child: Text(
      'login'
    ),
    onPressed: () 
    shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(50.0))),    

FlatButton(
    color: Colors.white,
    textColor: Colors.green,
    child: Text(
      'login'
    ),
    onPressed: () 
    shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(50.0))),    

【问题讨论】:

“我怎样才能正常设置这个文本颜色?” - 你已经做到了:color: Colors.yellow, textColor: Colors.red, @pskink 是的,但它不起作用,所有按钮的 textColors 都是黑色 FlatButton( onPressed: () , textColor: Colors.red, child: Text('foo', textScaleFactor: 3.0,), ), 工作得很好 【参考方案1】:

尝试在Text 小部件内使用TextStyle,如下所示:

FlatButton(
    color: Colors.yellow,
    child: Text(
      'login',style: TextStyle(color: Colors.red)
    ),
    onPressed: () 
    shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(50.0))),  

【讨论】:

【参考方案2】:

我不知道为什么 textColor 属性不适合你,但尝试给孩子text 小部件style,如下所示它会起作用。

FlatButton(
      color: Colors.red,
      textColor: Colors.green,
      child: Text("This is a flatButton",
          style: TextStyle(
            color: Colors.white, //This will do the work
          )),
      onPressed: () ,
      shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(50.0)),
    ),

【讨论】:

以上是关于Flutter 更改 FlatButton textColor的主要内容,如果未能解决你的问题,请参考以下文章

Flutter - 如何在单击时切换 FlatButton 的颜色?

如何在 Flutter 中禁用 FlatButton 的飞溅突出显示?

如何在 Flutter 中将 AlertDialog FlatButton 居中

Flutter中常用的按钮组件-FlatButton(扁平化的按钮)

Flutter中常用的按钮组件-FlatButton(扁平化的按钮)

Flutter 2.0 - 按下时如何更改 TextButton 的初始颜色?