Скрыть курсор текстового поля, когда он не сфокусирован

#flutter

#flutter

Вопрос:

В flutter, когда мы редактируем TextField и закрываем программную клавиатуру, касаясь внешней стороны, курсор TextField отображается и мигает

Как я могу выйти из режима редактирования при расфокусировке? т.е. клавиатура закрыта

Комментарии:

1. Пожалуйста, покажите нам, что вы уже пробовали

2. вызовите это FocusScope.of(context).unfocus() , чтобы вручную расфокусировать, скрытие клавиатуры не расфокусирует поле, но расфокусировка приведет к

Ответ №1:

Вы можете прослушать событие закрытия клавиатуры, например. flutter_keyboard_visibility, а затем вызвать FocusScope.of(context).unfocus() :

 @override
void initState() {
  super.initState();
  KeyboardVisibility.onChange.listen((bool visible) {
    if (!visible) FocusScope.of(context).unfocus();
  });
}
  

Если у вас уже есть свой способ определить, что пользователь закончил редактирование текста, просто вызовите FocusScope.of(context).unfocus(); — он отключит курсор и закроет клавиатуру.

Комментарии:

1. не работает с последней версией