如何更改TextField中字符串输入的颜色?

时间:2018-05-04 11:45:05

标签: dart coding-style styles flutter

我正在使用我的应用程序的样式,我无法更改TextField输入的颜色,没有任何属性可以更改它。

 new Theme(
            data: new ThemeData(
              hintColor: Colors.white
            ),
            child:
        new TextField(
          focusNode: _focusUsername,
          controller: _controller,
          decoration: new InputDecoration(
            border: InputBorder.none,
            fillColor: Colors.grey,
            filled: true,

            hintText: 'Username',
          ))),

3 个答案:

答案 0 :(得分:7)

您可以指定TextStyle

new TextField(
  style: new TextStyle(color: Colors.white),
  ...

https://docs.flutter.io/flutter/painting/TextStyle-class.html

答案 1 :(得分:4)

要在我使用的ThemeData中进行更改,

ThemeData(
      textTheme: TextTheme(subtitle1: TextStyle(color: Colors.grey)),

答案 2 :(得分:3)

在下面的示例中,文本为“红色”,TextField的背景为“橙色”。

new TextField(
  style: new TextStyle(color: Colors.red),
  decoration: new InputDecoration(fillColor: Colors.orange, filled: true),
)

这是你的意思吗?

如果你想通过应用程序的主题一般性地做到这一点,那确实很棘手。它可能会是这样的:

theme: new ThemeData(
    textTheme: new TextTheme(
      body1: new TextStyle(color: Colors.black),
      body2: new TextStyle(color: Colors.black),
      button: new TextStyle(color: Colors.black),
      caption: new TextStyle(color: Colors.black),
      display1: new TextStyle(color: Colors.black),
      display2: new TextStyle(color: Colors.black),
      display3: new TextStyle(color: Colors.black),
      display4: new TextStyle(color: Colors.black),
      headline: new TextStyle(color: Colors.black),
      subhead: new TextStyle(color: Colors.red), // <-- that's the one
      title: new TextStyle(color: Colors.black),
    ),
    inputDecorationTheme: new InputDecorationTheme(
      fillColor: Colors.orange,
      filled: true,
    )
)