Flutter 点击空白处关闭软键盘,点击非TextField 关闭软键盘的方法

1:点击空白处(非控件上)关闭软键盘。

    此方法有个问题,就是点击非空白区域,不会关闭软键盘,比如点击旁边的其他按钮,则软键盘还在。只适合点击空白处关闭软键盘

在 main.dart 入口 build 中增加

    builder: (context, child) {
        //xxxxx 操作
        return GestureDetector(
          behavior: HitTestBehavior.translucent,
          // 全局添加点击空白处隐藏键盘
          onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
          // onTap: () {
          //   FocusScopeNode currentFocus = FocusScope.of(context);
          //   if (!currentFocus.hasPrimaryFocus &&
          //       currentFocus.focusedChild != null) {
          //     FocusManager.instance.primaryFocus?.unfocus();
          //   }
          // },

          child: child,
        );
      },
2. 点击非TextField 关闭软键盘

增加Listener 监听

此方法有个问题:点击所有地方都会先关闭软键盘。点击TextField 会先关闭软键盘,然后再重新弹出来。

  builder: (context, child) {
        FlutterSmartDialog.init();
        return Listener(
          onPointerDown: (_) {
            FocusScopeNode currentFocus = FocusScope.of(context);
            if (!currentFocus.hasPrimaryFocus) {
              currentFocus.focusedChild?.unfocus();
            }
          },
          child: child,
        );
      },

3:在TextField 添加此方法,在每个输入框中添加如下方法也可以实现。

     onTapOutside: (event){
          FocusScopeNode currentFocus = FocusScope.of(context);
          currentFocus.focusedChild?.unfocus();
        },

最近更新

  1. TCP协议是安全的吗?

    2024-01-28 07:06:01       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-28 07:06:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-28 07:06:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-28 07:06:01       18 阅读

热门阅读

  1. 用OpenSSL生成哈希密钥

    2024-01-28 07:06:01       34 阅读
  2. MacOS安装Podman替代docker

    2024-01-28 07:06:01       38 阅读
  3. docker数据卷的使用

    2024-01-28 07:06:01       34 阅读
  4. gpt写的go语言入门——通过博客系统 part1

    2024-01-28 07:06:01       33 阅读
  5. 阿里云上传文件

    2024-01-28 07:06:01       34 阅读
  6. 力扣122双周赛

    2024-01-28 07:06:01       31 阅读
  7. 78.Go中的Timer 和 Ticker

    2024-01-28 07:06:01       23 阅读
  8. 阿里云云数据库RDS

    2024-01-28 07:06:01       27 阅读
  9. 通信协议的TCP/IP模型

    2024-01-28 07:06:01       28 阅读