Flutterのキーボードを閉じるには

Posted by on Sun, Jul 29, 2018

はじめに

FlutterでLINEのようなチャットアプリを作っていて、TextFormでキーボードが表示されたら、Androidはバックキーでキーボードを閉じれるけど、iOSはバックキーないので閉じることができなかったので、キーボードを閉じる方法をメモ。

キーボードを閉じるには

GestureDetector(
    onTap: () => FocusScope.of(context).requestFocus(FocusNode()),
    child: listView,
)

このようにタップイベントでキーボードのフォーカスを外すことで、キーボードを閉じるようです。 listViewだけにGestureを設定しているのは、TextFormFieldを含むWidgetに対してGestureを設定すると、キーボードが上がってる状態でTextFormFiledをタップすると、一旦閉じてまたキーボードが立ち上がってしまうため、listViewのみに設定しています。

キーボードを閉じるには 別の方法(2020/04/07追記)

FocusScope.of(context).unfocus()

参考



comments powered by Disqus