首页 > 建站教程 > APP开发,混合APP >  flutter点击空白处收回软键盘,并让输入框自动失去焦点正文

flutter点击空白处收回软键盘,并让输入框自动失去焦点

flutter如果TextField获得焦点,默认点击空白的地方,是不会收回键盘的,而且也不会失去焦点。下面的方法通过给body加触摸事件隐藏键盘,实现了点击空白处隐藏键盘并让输入框失去焦点:
body: GestureDetector(
    behavior: HitTestBehavior.translucent,
    onTap: () {
    // 触摸收起键盘
      FocusScope.of(context).requestFocus(FocusNode());
    },
    child: ...
)
但是也有缺陷,就是点击其他按钮,body的这个onTap不会被触发,也就不会失去焦点,而且如果body内有其他按钮,可能会导致其他按钮的点击事件无效。