Flutter收回键盘
2022-01-16 本文已影响0人
老P打码
点击空白处 收回键盘
Scaffold(
body: GestureDetector(
behavior: HitTestBehavior.translucent,
onTap: () {
// 触摸收起键盘(方式一)
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus &&
currentFocus.focusedChild != null) {
FocusManager.instance.primaryFocus?.unfocus();
}
// 触摸收起键盘(方式二)
// FocusScope.of(context).requestFocus(FocusNode());
},
),
);
返回上一页 收回键盘
// 当State对象从树中被永久移除时调用, 相当于iOS中的 viewDidDisAppear
@override
void dispose() {
closeKeyBoard();
super.dispose();
}
// 收回键盘
void closeKeyBoard() {
// 触摸收起键盘(方式一)
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus &¤tFocus.focusedChild != null) {
FocusManager.instance.primaryFocus?.unfocus();
}
// 触摸收起键盘(方式二)
// FocusScope.of(context).requestFocus(FocusNode());
}