flutter/study
TextField 사용시 바깥부분 터치시 focus 잃게하는방법
thomass
2021. 7. 28. 09:46
textField사용시 왠만하면 넣어야할듯
최상위에 GestureDetector를 넣고 아래 내용 추가
class Touch extends StatelessWidget {
const Touch({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus) {
currentFocus.unfocus();
}
},
child: Scaffold()
);
}
}
or
SystemChannels.textInput.invokeMethod('TextInput.hide');
or
추가
SingleChildScrollView( //or listview
keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior.onDrag,
)
이놈을 넣으면 바깥쪽눌렀을때 바로 포커스를 잃지는않지만 스크롤시 잃는다
참고 : https://flutterigniter.com/dismiss-keyboard-form-lose-focus/
반응형