GestureDetectorを使う方法だと、ボタンをタップした場合はフォーカスが外れない。
Listenerを使うと正しく外れました。
追記 2021/02/21
コメントよりご指摘いただきました。
長押しから貼り付けを選択した際にもフォーカスが外れて貼り付けされないようです。
良い方法があれば、教えてください!
環境
flutter 1.25.0
方法
Listener(
onPointerDown: (_) {
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus && currentFocus.focusedChild != null) {
currentFocus.focusedChild.unfocus();
}
},
child: MaterialApp(...),
);
参考
GestureDetectorを使う方法(古いバージョンだと問題ない模様)
https://qiita.com/tsukushibito/items/d7fde1d998a30292add7