1. ホーム
  2. flutter

フラッター時のフォーカス変化の聴き方

2023-11-05 22:16:47

質問

Androidでは setOnFocusChangeListener() で何かをする。 onFocusChanged() メソッドを呼び出しますが、flutterはプロバイダではなく onFocus() のようなインターフェイスはありません。 onTap() のようなインターフェースは、GestureDetector や onKey() を指定します。

フォーカスについてはflutter apiを読みました。 https://docs.flutter.io/flutter/widgets/FocusManager-class.html を読みましたが、私の要求を実現する方法が見つかりません、どなたか手を貸していただけませんか?

どのように解決するのですか?

私は、あなたが探しているのは フォーカスノード クラスで使用されます。使用する addListener メソッドを使用して、フォーカスの変更をリスニングする機能を追加します。



宣言と定義 FocusNode

 var focusNode = FocusNode();
  @override
  void initState() {
    focusNode.addListener(() {
      print(focusNode.hasFocus);
    });
    super.initState();
  }

テキストフィールドでフォーカスノードを使用する

TextField(
            focusNode: focusNode,
          ),

出力

テキストフィールドにフォーカスがある場合、trueが返され、それ以外の場合はfalseが返されます。