如何确保 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)
})
}
原生视图中的键盘在向下滑动时消失,但当返回到 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)
})
}