目录:本文包含以下两部分内容:
- 关闭键盘后正确方法
- 点击页面空白区域关闭键盘
一、关闭键盘后正确方法
Flutter关闭键盘后正确方法:
FocusScope.of(context).unfocus();
以下网上还流传了比较多的方式在Flutter v1.7.8 + hotfix.2开始已经过时了:
FocusScope.of(context).requestFocus(FocusNode())
这种方法会因为会在FocusScope
中增加一个新的FocusNode()
,导致原有的焦点顺序错乱,当页面中包含多个TextInputAction.next
的TextField
时,会导致键盘上的下一步
按钮失效。
![](https://img.haomeiwen.com/i14351417/640e7589f4b0a982.jpg)
二、点击页面空白区域关闭键盘
在Flutter中实现点击页面空白区域关键键盘比较常见的方法是,在Scaffold
根节点使用GestureDetector
,并在onTap
方法中执行FocusScope.of(context).unfocus();
方法即可。示例代码如下:
@override
Widget build(BuildContext context) {
return Scaffold(
body: GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () {
FocusScope.of(context).unfocus();
},
child: Container (
.......
),
),
);
}
网友评论