关闭键盘时从 TextField 中移除焦点

时间:2021-01-15 10:02:43

标签: flutter

当键盘关闭时,TextField 似乎不会失去焦点。这使得光标不断闪烁,更严重的是,当主窗口再次获得焦点时,例如显示一个对话框后,键盘再次弹出。当键盘关闭时,我可以让 TextField 失去焦点吗?

return Scaffold(
  body: Padding(
    padding: EdgeInsets.all(16),
      child: Center(
    child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        TextField(decoration: InputDecoration(hintText: "Example"),),
        RaisedButton(
            child: Text("Test"), onPressed: () => onButtonClick(context))
      ],
    ),
  )),
);

enter image description here

2 个答案:

答案 0 :(得分:0)

在点击按钮时尝试使用这个:

FocusScope.of(context).unfocus();

如果你有一个 textEditingController(我推荐使用),你可以调用来清除字段

_textEditingController.clear();

但您必须先创建控制器:

final _textEditingController = TextEditingController();

当您创建 TextField 时:

TextField(
    decoration: InputDecoration(hintText: "Example"),
    controller: _textEditingController,
),

答案 1 :(得分:0)

使用TextEditingController

第一次初始化:

TextEditingController _textController = new TextEditingController();

代码:

TextField(controller: _textController),