【问题标题】:Flutter keyboard not showing up on both emulator and real devices>Flutter 键盘在模拟器和真实设备上均未显示>
【发布时间】:2021-06-15 08:43:21
【问题描述】:

我的意思是键盘确实出现了几毫秒,然后立即消失了,这是在模态底部表中,但我不认为这是表的问题。

Container(
  height: 50,
  width: double.infinity,
  padding: const EdgeInsets.only(left: 20),
  decoration: BoxDecoration(
    color: kAccent,
    border: Border(
      top: BorderSide(color: kBackground, width: 0.5),
    ),
  ),
  child: Container(
        alignment: Alignment.center,
        padding: const EdgeInsets.only(left: 10),
        width: hasText ? 300 : 350,
        height: 40,
        alignment: Alignment.center,
        decoration: BoxDecoration(
          color: kPrimary,
          borderRadius: BorderRadius.circular(15),
        ),
        child: TextField(
          focusNode: _komNode,
          controller: _kommentCtrl,
          decoration: InputDecoration.collapsed(
            hintText: 'Leave seme nice K-omments~',
            hintStyle: kOnPrimaryMediumText,
          ),
          maxLength: 100,
        ),
      ),
);

我看到有人说这是编译版本28的bug,降级到27可以修复,但是我的项目已经是Sound Null Safety,如果我降级,我必须重写整个应用程序,因此,我不能将其降级到 27。

谁能帮我解决这个问题? @_@

【问题讨论】:

  • 确定不是TextField的focusNode引起的?

标签: flutter keyboard dart-null-safety flutter-showmodalbottomsheet flutter2.0


【解决方案1】:

尝试将密钥添加到TextField

child: TextField(
          key: ValueKey("Your unique value"),  
          focusNode: _komNode,
          controller: _kommentCtrl,
          decoration: InputDecoration.collapsed(
            hintText: 'Leave seme nice K-omments~',
            hintStyle: kOnPrimaryMediumText,
          ),
          maxLength: 100,
        ),

更新

我认为问题是当您打开模式表时文本字段失去焦点并因此键盘关闭,因此请先尝试在您的构建方法之外声明您的小部件。像这样:

final _myModalSheet =  Container(
  //...
  child: Container(
        //...
        child: TextField(
          focusNode: _komNode,
          controller: _kommentCtrl,
          //...
          ),
        ),
      ),
);

然后在您的构建方法中添加 _myModalSheet。

【讨论】:

  • 谢谢你,但它对我不起作用~@_@
  • 非常感谢!解决了!顺便说一句,这是我第一次在 Stack Overflow 上发帖~@_@
  • 乐于助人 :D 内容消失问题得到解决了吗?
  • 是的,我自己解决了这个问题,再次感谢您! @_@
猜你喜欢
  • 2022-07-29
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 2022-12-11
  • 2012-04-24
  • 1970-01-01
  • 2016-03-14
  • 1970-01-01
相关资源
最近更新 更多