我如何在TextField之外的任何地方进行点击以使其失去焦点?

时间:2019-01-30 23:40:27

标签: flutter

当我点击TextField时,它会获得焦点。键盘将打开并且可以输入文字。现在,我已经完成输入操作,并且点击了TextField以外的任何地方,我希望焦点会改变,键盘也会消失,但不会。

如何在TextField之外的任何地方进行点击以使其失去焦点?

3 个答案:

答案 0 :(得分:0)

您可以将整个屏幕包裹在hive> MSCK REPAIR TABLE test1; 中,这样当您触摸GestureDetector上的任意位置时,就会调用GestureDetector方法,该方法将隐藏软键盘。

onTap

答案 1 :(得分:0)

您可以尝试使用以下代码取消对文本字段的关注:

onFieldSubmitted: (term){
  currentNode.unfocus();
}

答案 2 :(得分:0)

Try this function, 

final _emailFocus = FocusNode();
 final _passwordFocus = FocusNode(); 

最终_emailController = TextEditingController();

child: TextFormField(
                keyboardType: TextInputType.text,
                textInputAction: TextInputAction.search,
              focusNode: _emailFocus,
              onFieldSubmitted: (term) {
              _emailFocus.unfocus();
              FocusScope.of(context).requestFocus(_passwordFocus);
              },
                controller: _emailController,
                decoration: InputDecoration(
                  border: InputBorder.none,
                  focusedBorder: InputBorder.none,
                ),
              ),