Flutter TextFormFieldのフォーカスを外すサンプル
環境
Windows11 pro 64bit
Flutter 3.3.7
構文
TextFormFieldのフォーカスを外すには、FocusNodeを使います。
作成方法
1.FocusNodeの変数を定義し、TextFormFieldの引数「focusNode」に指定します。
TextFormField( focusNode: _focusNode, ),
2.フォーカスを外すボタン処理で、FocusNodeのunfocus()メソッドを呼び出します。
onPressed: () { _focusNode.unfocus(); },
unfocusが呼ばれると、TextFormFieldのフォーカスが外されます。
使用例
FocusNode _focusNode = FocusNode(); @override Widget build(BuildContext context) { return SafeArea( child: Scaffold( body: Padding( padding: const EdgeInsets.all(10.0), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ TextFormField( focusNode: _focusNode, decoration: InputDecoration( border: OutlineInputBorder(), ), ), SizedBox( height: 25, ), ElevatedButton( onPressed: () { _focusNode.unfocus(); }, child: Text('test'), ) ], ), ), ), ); }