Flutter关闭键盘的正确姿势

作者: 少缶 | 来源:发表于2021-04-13 15:20 被阅读0次

目录:本文包含以下两部分内容:

  • 关闭键盘后正确方法
  • 点击页面空白区域关闭键盘

一、关闭键盘后正确方法

Flutter关闭键盘后正确方法:

FocusScope.of(context).unfocus();

以下网上还流传了比较多的方式在Flutter v1.7.8 + hotfix.2开始已经过时了:

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

这种方法会因为会在FocusScope中增加一个新的FocusNode(),导致原有的焦点顺序错乱,当页面中包含多个TextInputAction.nextTextField时,会导致键盘上的下一步按钮失效。

键盘上的`下一步`按钮

二、点击页面空白区域关闭键盘

在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 (
         .......
      ),
    ),
  );
}

相关文章

网友评论

    本文标题:Flutter关闭键盘的正确姿势

    本文链接:https://www.haomeiwen.com/subject/vwxclltx.html