Flutter 从FlatButton迁移到TextButton时如何指定disabledTextColor

Flutter 从FlatButton迁移到TextButton时如何指定disabledTextColor,flutter,Flutter,考虑以下代码,该代码为平面按钮指定禁用的TextColor: FlatButton.icon( 图标:常量图标(图标。复选框), 标签:常量文本('Foo'), disabledTextColor:Colors.black, onPressed:null, ), 如何将disabledTextColor转换为TextButton的等效项 我想我需要重写style,但我似乎无法开始工作,而且Theme.of(context).textButtonTheme.style为空。以下是等效的: Fla

考虑以下代码,该代码为
平面按钮指定
禁用的TextColor

FlatButton.icon(
图标:常量图标(图标。复选框),
标签:常量文本('Foo'),
disabledTextColor:Colors.black,
onPressed:null,
),
如何将
disabledTextColor
转换为
TextButton
的等效项


我想我需要重写
style
,但我似乎无法开始工作,而且
Theme.of(context).textButtonTheme.style
为空。

以下是等效的:

FlatButton.icon(
图标:常量图标(图标。复选框),
标签:常量文本('FlatButton'),
disabledTextColor:Colors.black,
onPressed:null,
),
TextButton.icon(
图标:常量图标(图标。复选框),
标签:常量文本(“文本按钮”),
样式:钮扣样式(
foregroundColor:MaterialStateProperty.all(颜色.黑色),
),
onPressed:null,
),
在这种情况下,由于按下的
on
null
,因此按钮将始终被禁用,因此
foregroundColor
在所有情况下都可以是黑色。但是,如果您有不同的场景,
样式可以执行以下操作:

样式:按钮样式(
foregroundColor:MaterialStateProperty.resolveWith(
(设置状态)=>states.contains(MaterialState.disabled)?Colors.black:null,
),
),
提供更多详细信息。

打开了颤振问题: