2017-12-14 30 views
0

私はモバイルアプリを構築しています。キーボードが画面に表示されているとき、つまり入力テキストフィールドにフォーカスがあるときにウィジェットを削除します。画面上でキーボードを聴くにはどうすればいいですか?

私はRawKeyboardListenerを使用しようとしましたが、それが動作するようには思えない、私のコードは以下の通りです:

 new Container(
     child: new RawKeyboardListener(focusNode: new FocusNode(), 
     onKey: (input) => debugPrint("*****KEY PRESSED"), 
     child: new TextField(
     controller: new TextEditingController(), 
    ))); 

答えて

0

テキストフィールドがフォーカスされたときにキーボードが自動的に表示されます。フォーカスナンバーを聞いてそれぞれのウィジェットを隠すために、フォーカスノードにリスナーを追加することができます。

例:

void _listener(){ 
     if(_myNode.hasFocus){ 
      // keyboard appeared 
     }else{ 
      // keyboard dismissed 
     } 
    } 

    FocusNode _myNode = new FocusNode()..addListener(_listner); 

    TextField _myTextField = new TextField(
      focusNode: _mynNode, 
      ... 
      ... 
     ); 

    new Container(
     child: _myTextField 
    );