Flutter收回键盘

点击空白处 收回键盘

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());
  }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容