【问题标题】:How to cause delay before open keyboard?如何在打开键盘之前造成延迟?
【发布时间】:2019-11-15 18:18:36
【问题描述】:

我想知道如何在打开键盘之前造成 1-2 秒的延迟。 我正在使用这个命令来隐藏底部导航和状态栏:

SystemChrome.setEnabledSystemUIOverlays([]);

当我点击 TextFormField 时,它会导致延迟。

我只需要延迟键盘 1 秒并恢复 Overlays

【问题讨论】:

    标签: flutter flutter-layout flutter-animation


    【解决方案1】:

    有几种方法来处理这个问题。

    你可以为你的 TextField 的 TextEditingController() 添加一个监听器 并在适当的时候运行代码。

    TextEditingController usage Flutter Cookbook

    故意为您的应用添加延迟可能不是一个很好的解决方案。尽量不要通过解决问题来制造新问题。

    尝试找出导致延迟的原因。

    您是否在物理设备上进行过测试?如果您正在运行许多任务或在较旧的机器上运行,有时模拟器或模拟器会产生延迟。

    【讨论】:

      【解决方案2】:

      尝试使用未来!

      await Future.delayed(const Duration(seconds: 2)).then((_) {
            // open keyboard
          });
      
      

      【讨论】:

      • 点击textformfield后键盘会自动打开,有没有办法撤消它然后使用你的方法?
      猜你喜欢
      • 2012-11-03
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      • 2015-12-23
      • 1970-01-01
      相关资源
      最近更新 更多