flutter如何将键盘收起,输入框失去焦点
时间: 2024-09-24 16:28:46 浏览: 29
在 Flutter 中,当你想要让输入框失去焦点并自动隐藏键盘时,可以使用 `FocusNode` 和 `TextField` 的一些特性配合。首先,你需要为 `TextField` 绑定一个 `FocusNode`,然后当需要键盘消失时,你可以调用 `FocusNode` 的 `unfocus()` 或者通过处理 `GlobalKey` 来控制。
以下是一个简单的示例:
```dart
// 创建一个 FocusNode
final focusNode = FocusNode();
// 使用 FocusNode 配置 TextField
TextField(
controller: TextEditingController(),
focusNode: focusNode,
decoration: InputDecoration(...),
on blur: () {
// 当输入框失去焦点时,调用 unfocus() 来隐藏键盘
focusNode.unfocus();
},
)
// 或者使用 GlobalKey
final key = GlobalKey<FormState>();
...
TextFormField(
key: key,
...
)
// 然后在适当的地方手动调用 blur()
key.currentState!.blur();
```