目前,我知道使用此代码隐藏软键盘的方法,任何小工具都有onTap
种方法.
FocusScope.of(context).requestFocus(new FocusNode());
但我想通过点击文本字段外或屏幕上的任何地方来隐藏软键盘.有什么方法可以做到这一点吗?
目前,我知道使用此代码隐藏软键盘的方法,任何小工具都有onTap
种方法.
FocusScope.of(context).requestFocus(new FocusNode());
但我想通过点击文本字段外或屏幕上的任何地方来隐藏软键盘.有什么方法可以做到这一点吗?
你做错了,试着用这个简单的方法隐藏软键盘.您只需要将整个屏幕包装在GestureDetector
方法和onTap
方法中,并编写此代码.
FocusScope.of(context).requestFocus(new FocusNode());
以下是完整的示例:
new Scaffold(
body: new GestureDetector(
onTap: () {
FocusScope.of(context).requestFocus(new FocusNode());
},
child: new Container(
//rest of your code write here
)
)
Updated (May 2021)个
return GestureDetector(
onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
child: Scaffold(
appBar: AppBar(
title: Text('Login'),
),
body: Body(),
),
);
即使你touch AppBar,这也会起作用,new
是optional in Dart 2.FocusManager.instance.primaryFocus
将返回窗口小部件树中当前具有主要焦点的 node .