title: How to remove focus from `FocusNode` in a Text(Form)Field in Flutter
body: <p>In a <code>TextFormField</code>, you can request focus by using <code>FocusScope.of(context).requestFocus(_focusNode)</code>. However, how can you make sure that the same focus node has been unfocused?</p>
  
  <p>For example, in my workflow, I want the <code>hintText</code> to be X initially, Y when focused, and go back to X when unfocused. But, if I use something usual like what's below, I can't go back to X.</p>
  
  <pre class="lang-dart prettyprint-override"><code>class TextFormFieldErrorOnLabel extends StatefulWidget {
    final String hintText;
    final String hintTextOnFocus;
  
    const NewTextFormField({
      this.hintText,
      this.hintTextOnFocus,
    }) : super(key: key);
  
    @override
    _NewTextFormFieldState createState() =&gt; _NewTextFormFieldState();
  }
  
  class _NewTextFormFieldState {
    final FocusNode _focusNode = FocusNode();
  
    void _requestFocus() {
      setState(() {
        FocusScope.of(context).requestFocus(_focusNode);
      });
    }
  
    @override
    Widget build(BuildContext context) {
      return TextFormField(
        onTap: _requestFocus,
        focusNode: _focusNode,
        decoration: InputDecoration(
          hintText: _focusNode.hasFocus ? widget.hintTextOnFocus : widget.hintText,
        )
      );
    }
  }
  </code></pre>
  
  <p>Is there a "<code>requestUnfocus</code>" method somewhere? If so, how would I call it from the <code>TextFormField</code>?</p>