【Flutter 问题系列第 8 篇】TextField 如何实现全局点击空白处隐藏键盘

221 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

这是【Flutter 问题系列第 8 篇】,如果觉得有用的话,欢迎关注专栏。

实现全局点击空白处隐藏键盘,需要添加全局点击空白处的监听,所以需要在 MaterialApp 中的 builder 属性添加如下代码

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      builder: (context, child) => Scaffold(
        body: GestureDetector(
          onTap: () {
            FocusScopeNode currentFocus = FocusScope.of(context);
            if (!currentFocus.hasPrimaryFocus &&
                currentFocus.focusedChild != null) {
              FocusManager.instance.primaryFocus.unfocus();
            }
          },
          child: child,
        ),
      ),
    );
  }
}

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。


结束语

Google 的 Flutter 越来越火,截止 2020年10月30日 GitHub 标星已达 70K,Flutter 毅然是一种趋势,所以作为前端开发者,没有理由不趁早去学习。

无论你是 Flutter 新手还是已经入门了,不妨先点个关注,后续我会将 Flutter 中的常用组件(含有源码分析、组件的用法及注意事项)以及可能遇到的问题写到稀土掘金博客中,希望自己学习的同时,也可以帮助更多的人。