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

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

Dart 复制代码
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。

相关推荐
AbrahamCS13 分钟前
从角色协同到可运行图:Graph Engineer 与多智能体编排
前端·人工智能·智能体
BigTopOne24 分钟前
VS Code IntelliSense 配置(解决 #include 找不到的报红)
前端
愚公搬代码26 分钟前
【愚公系列】《Web应用安全》005-Visual Studio Code编辑器的使用
前端·安全·编辑器
用户9210802628629 分钟前
2. 以 Bubble 为例,看 Ant Design X Vue 组件是怎么设计的
前端
Liora_Yvonne31 分钟前
Monorepo 里的 shared、services 和 ui 到底怎么划分?
前端
PedroQue9934 分钟前
uni-router v2.1.0 升级:导航守卫全面支持返回值模式
前端·uni-app
猫七先生38 分钟前
从零到一:个人博客自动化部署踩坑全记录
前端
淼澄研学40 分钟前
Python调用通义千问API实现长尾搜题内容自动化生成实战
前端·react.js·架构
绿岛之北42 分钟前
Electron 安全入门:为什么一个 XSS 可能变成 RCE?
前端·electron
舒灿1 小时前
DeepSeek Harness——Agent自我进化的实现途径?
前端·ai编程·deepseek