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

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

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