【发布时间】:2019-11-15 18:18:36
【问题描述】:
我想知道如何在打开键盘之前造成 1-2 秒的延迟。 我正在使用这个命令来隐藏底部导航和状态栏:
SystemChrome.setEnabledSystemUIOverlays([]);
当我点击 TextFormField 时,它会导致延迟。
我只需要延迟键盘 1 秒并恢复 Overlays。
【问题讨论】:
标签: flutter flutter-layout flutter-animation
我想知道如何在打开键盘之前造成 1-2 秒的延迟。 我正在使用这个命令来隐藏底部导航和状态栏:
SystemChrome.setEnabledSystemUIOverlays([]);
当我点击 TextFormField 时,它会导致延迟。
我只需要延迟键盘 1 秒并恢复 Overlays。
【问题讨论】:
标签: flutter flutter-layout flutter-animation
有几种方法来处理这个问题。
你可以为你的 TextField 的 TextEditingController() 添加一个监听器 并在适当的时候运行代码。
TextEditingController usage Flutter Cookbook
故意为您的应用添加延迟可能不是一个很好的解决方案。尽量不要通过解决问题来制造新问题。
尝试找出导致延迟的原因。
您是否在物理设备上进行过测试?如果您正在运行许多任务或在较旧的机器上运行,有时模拟器或模拟器会产生延迟。
【讨论】:
尝试使用未来!
await Future.delayed(const Duration(seconds: 2)).then((_) {
// open keyboard
});
【讨论】: