在安卓模拟器中调试:点击键盘外区域不会自动失去焦点的问题

来源:4-6 自定义AppBar与登录动效设计与实现

it文科生

2021-04-08

调试环境:安卓模拟器ADB(Nexus 6p)

完成了输入框的封装后,发现点击输入框,键盘弹起后,如果鼠标点击键盘区域之外的空白区域(例如图中的绿色区域)键盘不会自动收起,不符合常规交互直觉。
身边没有真机,想了解这是模拟器的问题还是说本身Flutter的设计就不包含自动收起键盘的这个交互呢?而如果是后者,如何实现这个点击空白区域后收起键盘的交互?

图片描述

写回答

2回答

CrazyCodeBoy

2021-04-08

这个是系统特性,因为输入框在获取光标所以键盘不会收回去,跟flutter无关。

0
3
it文科生
好的,我再查阅文档了解一下。
2021-04-09
共3条回复

Cloud_Iris

2022-07-23

这个我可以给你一种实现的方式

GestureDetector(
    onTap: (){
        /// 收起软键盘
        SystemChannels.textInput.invokeMethod('TextInput.hide');
    },
  child: xxx,
)

这样套在合适的组件的外层就可以了,亲测有效

0
0

Flutter高级进阶实战-仿哔哩哔哩-掌握Flutter高阶技能

一次性掌握Flutter高阶技能+商业级复杂项目架构设计与开发方案

1722 学习 · 870 问题

查看课程