已解决:Flutter-如何删除TextField下面的下划线

时间:2019-05-26 16:43:24

标签: flutter dart

这是代码。我要删除文本下方的黑色下划线,当前TextField处于编辑模式

TextField(
      autofocus: true,
      decoration: InputDecoration.collapsed(
        hintText: "Search",
        border: InputBorder.none,
      ),
      maxLines: 1,
    )

enter image description here

更新

有关说明,请参见不朽杜德的最后评论

7 个答案:

答案 0 :(得分:9)

尝试将TextStyle赋予TextField小部件。您的TextField正在获取默认主题的TextStyle。

TextField(
      autofocus: true,
      style: TextStyle(color: Colors.white, fontSize: 30),
      decoration: InputDecoration.collapsed(
        hintText: "Search",
        border: InputBorder.none,
      ),
      maxLines: 1,
    )

在TextField小部件的源代码中,它指出:

  /// If null, defaults to the `subhead` text style from the current [Theme].
  final TextStyle style;

答案 1 :(得分:6)

您应该在TextDecoration.none属性中使用decoration

Text(
  'your txt',
  style: TextStyle( decoration: TextDecoration.none),
)

答案 2 :(得分:2)

我怀疑这与预测文本有关。当您按空格键结束正在输入的单词时,下划线消失;当您开始输入下一个单词时,它们会再次出现。按照建议 here,尝试设置 TextInputType.visiblePassword; - 这对我有用。

答案 3 :(得分:0)

https://stackoverflow.com/a/57499189/445887

中所述

这是可访问性功能(如果您在TextStyle中禁用下划线后仍然看到下划线)。

答案 4 :(得分:0)

只需编码...

[
  {
    "id": 2,
    "subcategoryType": "Mobile"
  },
  {
    "id": 3,
    "subcategoryType": "Tablet"
  },
  {
    "id": 4,
    "subcategoryType": "HardDisk"
  }
]

like this image

答案 5 :(得分:-1)

您必须添加一个“ decoration:TextDecoration.none”,如下所示:

  Text(
    "Don't forget",
    style: TextStyle(
       decoration: TextDecoration.none
    )
  )

答案 6 :(得分:-3)

@Immortal Dude 是正确的,这不是文本字段的问题。因为当您在文本字段中键入内容后单击其他位置时,下划线会自动从文本中删除。

您只需要设置键盘类型:

keyboardType: TextInputType.visiblePassword,