Flutter中隐藏键盘操作

方式一

在iOS原生开发中我们可能会使用textField.resignFirstResponder() 或者endEditing来隐藏键盘。

而在Flutter中我们可以使用获取Focus,然后调用unfocus的方式取消键盘。

1
2
3
4
FocusScopeNode currentFocus = FocusScope.of(context);
if(!currentFocus.hasPrimaryFocus) {
currentFocus.unfocus();
}

方式二

当然在获取控制器困难的时候,在iOS原生开发中我们可以使用下面的方法取消键盘。

1
2
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];

而Flutter中也可以使用同样的方法,如下所示:

1
FocusScope.of(context).requestFocus(FocusNode());