Flutter键盘使屏幕向下跳,并在Android设备上显示当前视图上方相同视图的一部分



我在Pax A920设备上运行一个内置Flutter的应用程序,安装了Android 7.1.2。

只要键盘出现,屏幕就会向下跳转,并在屏幕上方显示当前视图的一部分。当我关闭键盘时,一切都恢复正常。

这种行为可以在下面的照片中看到。对不起,图像质量不佳,我无法在此设备上截图。

意外行为照片

我真的不能展示任何代码示例,因为每次键盘出现时都会发生这种情况,从不同的屏幕和不同的导航堆栈。

这在iOS设备和我尝试过的Android模拟器上工作得很好,所以很明显这与我运行这个的设备/操作系统有关。

有没有人经历过这种情况或类似的情况,并知道如何预防这种情况?

我找到解决办法了。这个bug显然与隐藏Android导航栏时计算屏幕高度有关。

我们需要手动通知Flutter导航条未启用:

await SystemChrome.setEnabledSystemUIMode(
SystemUiMode.manual,
overlays: [SystemUiOverlay.top],
);

由于此问题仅发生在PAX设备上,因此我认为只有在制造商标识为PAX时才能安全地进行此调用。

最新更新