Flutter

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 &&currentFocus.focusedChild != null) {
        FocusManager.instance.primaryFocus?.unfocus();
      }
      // 触摸收起键盘(方式二)
      // FocusScope.of(context).requestFocus(FocusNode());
  }

上一篇下一篇

猜你喜欢

热点阅读