Flutter 点击空白的地方让软键盘消失

在Flutter中,你可以通过在Scaffold的body上添加一个GestureDetector来实现点击空白处隐藏键盘的操作。下面是一个示例代码:

import 'package:flutter/material.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: GestureDetector(
          onTap: () {
            FocusScopeNode currentFocus = FocusScope.of(context);
            if (!currentFocus.hasPrimaryFocus &&
                currentFocus.focusedChild != null) {
              FocusManager.instance.primaryFocus?.unfocus();
            }
          },
          child: YourWidget(), // 替换为你的具体内容
        ),
      ),
    );
  }
}

在这个示例中,我们在Scaffold的body上添加了一个GestureDetector,并设置了onTap回调函数。当用户点击空白处时,会触发onTap回调函数,然后我们通过FocusScopeNode来判断当前焦点是否在输入框上,如果是,则调用FocusManager.instance.primaryFocus.unfocus()来隐藏键盘。

注意:你需要将YourWidget替换为你实际使用的Widget。

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-29 13:58:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-29 13:58:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-29 13:58:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-29 13:58:02       18 阅读

热门阅读

  1. vue 组件之间相互传值的6种方法

    2024-01-29 13:58:02       28 阅读
  2. vue.js中如何使用动态组件。

    2024-01-29 13:58:02       34 阅读
  3. 题记(31)--哈夫曼树

    2024-01-29 13:58:02       31 阅读
  4. 怎样开发adobe indesign插件,具体流程?

    2024-01-29 13:58:02       35 阅读
  5. 算法训练|下一个排列

    2024-01-29 13:58:02       38 阅读
  6. 1361:产生数(Produce)

    2024-01-29 13:58:02       30 阅读
  7. 极智芯 | 解读国产CPU之龙芯

    2024-01-29 13:58:02       41 阅读
  8. C语言K&R圣经笔记 6.3结构体数组

    2024-01-29 13:58:02       27 阅读
  9. 面试经典 150 题 ---- 删除排序数组中的重复项

    2024-01-29 13:58:02       39 阅读
  10. 面试经典 150 题 ---- 移除元素

    2024-01-29 13:58:02       38 阅读
  11. 一个SSE(流式)接口引发的问题

    2024-01-29 13:58:02       33 阅读