2017-12-14 1 views
0

모바일 앱을 제작할 때 화면에 키보드가 나타나면 입력 텍스트 필드에 포커스가있을 때 위젯을 제거하고 싶습니다.화면에서 키보드를 듣는 방법 펄터?

내가 RawKeyboardListener을 사용하려고했지만 그 작동하지 않는 것, 내 코드는 다음과 같습니다 : 텍스트 필드에 초점이 맞춰지면

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

답변

0

키보드가 자동으로 나타납니다. 따라서 focusnode에 listner를 추가하여 focus 변경을 듣고 각각의 widget을 숨길 수 있습니다.

예 :

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 
    ); 
관련 문제