Как слушать изменение фокуса в flutter?
в Android, мы можем назвать setOnFocusChangeListener()
, сделайте что-нибудь в onFocusChanged()
метод, но flutter не провайдер onFocus()
интерфейс как onTap()
в GestureDetector или onKey()
в RawKeyboardListener.
Я прочитал Flutter api о фокусе,https://docs.flutter.io/flutter/widgets/FocusManager-class.html но я не могу найти способ реализовать свою просьбу, кто-нибудь может мне помочь?
2 ответов
Я полагаю, вы ищете FocusNode класса. Использовать addListener
метод добавления функции прослушивателя, которая прослушивает изменение фокуса.
вот простой рабочий пример FocusNode использование текстового поля.
Widget build(BuildContext context) {
...
var _focusNode = new FocusNode();
var _textField = new TextField(
focusNode: _focusNode
);
_focusNode.addListener(() {
if (!_focusNode.hasFocus) {
// TextField has lost focus
}
});
...
}