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