如何确保 flutter 插件的本机视图中的键盘被关闭?

How can I ensure the keyboard in a native view of a flutter plugin gets dismissed?

原生视图中的键盘在向下滑动时消失,但当返回到 Flutter 应用程序时,视图在原生键盘所在的位置被切断。有没有办法确保它被正确解雇?这甚至是问题所在吗?

你试过这个吗?

Future.microtask(() => FocusScope.of(context).requestFocus(FocusNode()));

如果没有,试试这个:

return GestureDetector(
      onTap: () {
        FocusScopeNode currentFocus = FocusScope.of(context);
        if (!currentFocus.hasPrimaryFocus) {
          currentFocus.unfocus();
        }
      },
      child: ...
    );

在本机 iOS 代码中用这个解决了这个问题。

 @objc func dismiss() {
    UIApplication.shared.keyWindow?.rootViewController?.dismiss(animated: true, completion: {
        UIApplication.shared.keyWindow?.rootViewController?.view.endEditing(true)
    })
}