點擊空白處使輸入文字框失去焦點

這在網頁中看來稀鬆平常的事情

在 Flutter 中其實蠻難做的…

使用 GestureDetector

在根的地方(也就是最上層的Widget)

使用 GestureDetector 來包住原本最上層的 Widget

1
2
3
4
5
6
7
8
9
GestureDetector(
// 使空白處可以點擊
behavior: HitTestBehavior.translucent,
// 點擊後失去當前的Focus(request一個空的Focus給它)
onTap: () {
FocusScope.of(context).requestFocus(FocusNode());
},
child: YourWidget(),
)