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()) のやり方は本当は動くのかな、、なぜ動かないのかな、、以上です