【问题标题】:flutter-keyboard hides itself when clicked on textfield单击文本字段时,颤动键盘会隐藏自己
【发布时间】:2021-04-03 21:11:15
【问题描述】:
I/ViewRootImpl@799941b[MainActivity](12513): ViewPostIme pointer 0
I/ViewRootImpl@799941b[MainActivity](12513): ViewPostIme pointer 1
D/InputMethodManager(12513): SSI - flag : 0 Pid : 12513 view : com.example.facatte
D/InputMethodManager(12513): prepareNavigationBarInfo() DecorView@f0b7259[MainActivity]
D/InputMethodManager(12513): getNavigationBarColor() -855310
D/InputMethodManager(12513): prepareNavigationBarInfo() DecorView@f0b7259[MainActivity]
D/InputMethodManager(12513): getNavigationBarColor() -855310
V/InputMethodManager(12513): Starting input: tba=com.example.facatte ic=io.flutter.plugin.editing.InputConnectionAdaptor@8b758fe mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager(12513): startInputInner - Id : 0
I/InputMethodManager(12513): startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport(12513): Input channel destroyed: 'ClientS', fd=93
W/IInputConnectionWrapper(12513): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(12513): requestCursorAnchorInfo on inactive InputConnection
I/ViewRootImpl@799941b[MainActivity](12513): MSG_RESIZED: frame=(0,0,1080,2340) ci=(0,83,0,989) vi=(0,83,0,989) or=1
I/ViewRootImpl@799941b[MainActivity](12513): Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) req=(1080,2340)0 dur=12 res=0x1 s={true 518951051264} ch=false
D/InputMethodManager(12513): HSIFW - flag : 0
I/ViewRootImpl@799941b[MainActivity](12513): MSG_RESIZED: frame=(0,0,1080,2340) ci=(0,83,0,126) vi=(0,83,0,126) or=1
I/ViewRootImpl@799941b[MainActivity](12513): Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) req=(1080,2340)0 dur=12 res=0x1 s={true 518951051264} ch=false

这是点击文本字段时控制台中的输出。 键盘出现 2 秒后自动隐藏。它也不会抛出任何错误!

【问题讨论】:

    标签: forms flutter flutter-layout textfield


    【解决方案1】:
    GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
    final _formKey = GlobalKey<FormState>();
    TextEditingController textEditingController = new TextEditingController();
    
    
    return Scaffold(
      key: _scaffoldKey,
      body : Form(
        key: _formKey,
        child: TextField(
        controller: textEditingController,
        decoration: new InputDecoration(
          hintText: 'Type Your Data',
        ),
      ),
    ));
    

    或者,如果您使用多个 TextField,则为每个 TextField 使用单独的控制器。我希望这对你有用。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 2020-09-17
    • 2019-06-09
    • 2020-05-17
    • 1970-01-01
    • 2014-03-18
    • 2011-01-19
    相关资源
    最近更新 更多