flutter ios 画面タップでキーボードを閉じる
今回やりたかったことはキーボードが表示されているときに画面をタップしたらキーボードを閉じるということ。swiftでの開発でも考慮する必要があるがflutterでも同じだった
以下のようにすればいいとみんな書いてるがなぜか上手くいかず、、
FocusScope.of(context).requestFocus(FocusNode());
仕方がないので別のやり方
class Content extends StatefulWidget { Content({Key key}) : super(key: key); @override _ContentState createState() => new _ContentState(); } class _ContentState extends State<Content> { var _emailFocusNode = FocusNode(); var _passwordFocusNode = FocusNode(); @override Widget build(BuildContext context) { return GestureDetector( onTap: () { // ココ!! _emailFocusNode.unfocus(); _passwordFocusNode.unfocus(); }, child: Container( color: Colors.white, child: Padding( child: Column( children: <Widget>[ TextField(focusNode: _emailFocusNode), TextField(focusNode: _passwordFocusNode), ], ), ), ) ); } }
TextFieldごとにfocusNodeを用意してセットして、画面がタップされたらunfocusを呼ぶ。requestFocus(FocusNode()) のやり方は本当は動くのかな、、なぜ動かないのかな、、以上です