详解Flutter点击空白隐藏键盘的全局做法

开发原生页面的时候,在处理键盘事件上,通常的需求是,点击输入框外屏幕,要隐藏键盘,同样的,这样的需求也需要在 flutter 上实现,

android 上的实现方式是在基类 activity 里实现事件分发,判断触摸位置是否在输入框内。

那么在 flutter 上如何实现呢?

许多文章的做法如下,每个包含textfield的屏幕中包裹gesturedetector,手动控制focus。一旦失去焦点,就请求关闭键盘。这是一个临时的解决方案,容易出错,并且生成大量代码。

通常这种需求是对应整个 app 的,有没有一劳永逸的方法呢?当然有,我们可以借助materialapp的builder方法,在 navigator上方但在其他小部件下方插入小部件,仅添加了一个“全局” gesturedetector,它将为我们处理键盘关闭:

当然也可以使用下面这个方法关闭键盘:

这样就全局控制,再也不用在每个页面写了。

到此这篇关于详解flutter点击空白隐藏键盘的全局做法的文章就介绍到这了,更多相关flutter点击空白隐藏键盘内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关推荐:

如何在Python Flask中实现全局拦截器_使用before_request钩子

before_request在每次请求进入Flask应用、到达视图函数前必定执行,不区分HTTP方法和路由,但默认不处理静态文件;它仅在WSGI层生效,不能修改response,只能读取request、设置g变量、抛异常或返回响应。 before_request什么时候执行? before_requ...