Flutter 颤振更改主题中所有凸起的按钮文本颜色

Flutter 颤振更改主题中所有凸起的按钮文本颜色,flutter,Flutter,我希望我所有的RaisedButton小部件都有一个不同的textColor,我如何在MaterialApp主题数据中只更改它?如果你看一下,你会看到它使用了ButtonThemeData中的方法,该方法考虑enumbuttonexttheme来定义文本颜色。枚举项是普通、重音和主。您可以仅根据这些颜色为RaisedButtons设置全局文本颜色 为落实这一点: ThemeData-theme=theme.of(上下文); 返回材料PP( ... 主题:theme.copyWith( butto

我希望我所有的
RaisedButton
小部件都有一个不同的
textColor
,我如何在
MaterialApp主题数据中只更改它?

如果你看一下,你会看到它使用了
ButtonThemeData
中的方法,该方法考虑enum
buttonexttheme
来定义文本颜色。枚举项是
普通
重音
。您可以仅根据这些颜色为
RaisedButton
s设置全局文本颜色

为落实这一点:

ThemeData-theme=theme.of(上下文);
返回材料PP(
...
主题:theme.copyWith(
buttonTheme:theme.buttonTheme.copyWith(
textTheme:buttonexttheme.accent,
),
),
);
如果您想设置与
普通
重音
不匹配的自定义颜色,最好的选择是使用此颜色创建一个自定义的
小部件
,因此不需要在每个
启动按钮
中单独设置

请查看:

class按钮带有CustomTextColor扩展RaisedButton{
带有自定义文本颜色的按钮({
关键点,
@所需的无效回调已按下,
HighlightChanged上的值已更改,
按钮文本主题文本主题,
//在此放置您的自定义颜色
Color text颜色=Colors.blue,
颜色禁用TextColor,
颜色,
颜色禁用颜色,
颜色高亮颜色,
色彩斑斓,
亮度颜色亮度,
双立面,
双高光仰角,
双失能,
EdgeInsets几何体填充,
形状订单形状,
Clip clipBehavior=Clip.none,
MaterialTargetSize MaterialTargetSize,
持续时间动画持续时间,
孩子,
}):超级(
钥匙:钥匙,
onPressed:onPressed,
onHighlightChanged:onHighlightChanged,
textTheme:textTheme,
textColor:textColor,
disabledTextColor:disabledTextColor,
颜色:颜色,
disabledColor:disabledColor,
highlightColor:highlightColor,
splashColor:splashColor,
颜色亮度:颜色亮度,
标高:标高,
highlightElevation:highlightElevation,
去功能化:去功能化,
填充:填充,
形状:形状,
clipBehavior:clipBehavior,
MaterialTargetSize:MaterialTargetSize,
animationDuration:animationDuration,
孩子:孩子,
);
}

对于任何使用灯光主题应用程序但希望按钮上显示白色文本的人,您可以调整应用程序入口点(即您声明
材质应用程序的位置)中的
按钮主题。比如:

return MaterialApp(
  theme: ThemeData.light().copyWith(
    buttonTheme: ThemeData.dark().buttonTheme
  ),
);