Flutter关闭键盘的正确姿势

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

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

一、关闭键盘后正确方法

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 (
         .......
      ),
    ),
  );
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容