Flutter 定义主题时如何设置输入文本颜色?

Flutter 定义主题时如何设置输入文本颜色?,flutter,Flutter,我将我的主题定义如下: theme: ThemeData.dark().copyWith( scaffoldBackgroundColor: bgColor, textTheme: GoogleFonts.poppinsTextTheme(Theme.of(context).textTheme) .apply(bodyColor: Colors.white), canvasColor: secondaryColor, ), 如何更改文本字段中文本

我将我的主题定义如下:

  theme: ThemeData.dark().copyWith(
    scaffoldBackgroundColor: bgColor,
    textTheme: GoogleFonts.poppinsTextTheme(Theme.of(context).textTheme)
        .apply(bodyColor: Colors.white),
    canvasColor: secondaryColor,
  ),
如何更改文本字段中文本的颜色?我是否必须以某种方式修改copyWith()调用


编辑:我想我有一个特例,因为我使用的是flift登录,我不确定这是否会改变情况。

TextFields默认使用
subtitle1
文本样式,因此更改文本颜色的第一种方法是设置
subtitle1
的样式:

@覆盖
小部件构建(构建上下文){
返回材料PP(
主题:主题数据(
textTheme:textTheme(
字幕1:TextStyle(颜色:Colors.pink),
),
),
主页:主页(),
);
}
}

您还可以直接从TextField的
style
参数指定样式替代:

类主页扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(),
正文:专栏(
儿童:[
划船(
儿童:[
扩大(
孩子:TextField(
样式:TextStyle(颜色:Colors.orange),
),
),
],
),
],
),
);
}
}


我尝试了你的代码,它对我来说很好:

小部件构建(构建上下文){
返回材料PP(
主题:ThemeData.dark().copyWith(
脚手架背景颜色:颜色。灰色[900],
textTheme:GoogleFonts.poppinsTextTheme()
.应用(车身颜色:颜色.白色)
.copyWith(副标题1:TextStyle(颜色:Colors.purple)),
画布颜色:颜色。灰色[800],
),
主页:主页(),
);
}


就性能而言,
copyWith
apply
轻得多,因为它不必重新创建所有样式。

看看InputDecorationTheme InputDecorationTheme似乎没有任何属性来设置文本颜色。它似乎是用于控件,而不是其中的文本。谢谢,但这对我来说不起作用,除非我将样式放在小部件上(类似于您的第二个示例)。我希望此设置与我在问题中给出的示例代码配合使用。您可以尝试从google字体文本主题替换
subtitle1
的文本样式。我更新了我的答案。希望它对你也有用。谢谢,但对我还是不起作用。只有为确切的屏幕设置主题才有效。