命令提示符
仅设备错误更严重。 您需要进行设备构建,然后进行复制/冲洗/重复。 值得庆幸的是,这些错误很少见,但有时它们只是让您难忘。 当我在Android上调试与登录表单相关的转换时,发生了这样的问题。 我将在打开键盘的窗体和关闭它的窗体之间移动。 这产生了一种令人讨厌的效果,其中键盘折叠起来留下一个黑色空间,并且过渡在该黑色空间上播放。
在模拟器上不会发生这种情况,我们无法现实地模拟虚拟键盘。
它也不会在iOS上发生。 仅在Android上。
Android端口会在输入期间调整显示的大小,并且该行为会触发最终结果,即在过渡开始之前显示没有时间恢复。
最初,我认为可以通过调用以下方法解决此问题:
textField.stopEditing();
callSerially(() -> showOtherForm());
但这仅在某些情况下有所帮助,而并非全部。 即使我使用callSerially
的事实也无济于事,因为这取决于正在进行的本地事件。
解决方案是使用新的stopEditing(Runnable)
API。 在大多数OS上,可运行对象将立即被调用,但在Android上,它将在调用代码之前等待屏幕大小调整。 因此,这将如您期望的那样工作:
textField.stopEditing(() -> showOtherForm());
翻译自: https://www.javacodegeeks.com/2018/02/tip-stop-editing.html
命令提示符