Ben*_*abo 6 dart flutter flutter-layout
我需要一种可靠的方法来获取屏幕的尺寸。
我知道MediaQuery.of(context),但是当底部 UI 项可见时它会删除底部填充。
由于 flutter 忽略了底部系统 UI(即按钮),目前在 Android 上的 dart 中这似乎是不可能的。
我认为这可能是一个错误,但是如果您仔细查看文档,它从未说明window.physicalSize
或MediaQueryData.size
说明屏幕的物理尺寸,而是说明 flutter 可以呈现的大小。这可能是有道理的,否则每个应用程序都必须确保考虑到这一点。
所以你要做的就是使用方法通道直接与 android 通信。我已经看过了,似乎没有任何插件可以做到这一点,因此如果您有雄心壮志,可以将其整合为一个。但是您要做的是调用 native,然后直接在 java 代码中获取物理屏幕大小。如果你这样做,你可能最好也为 iOS 实现它,尽管那里不存在同样的问题(你甚至可以直接用 if/else 来实现它)。
幸运的是,之前有人这样做过,因此您可以将其用作示例:https : //github.com/magnatronus/flutter-displaymetrics。假设 displayMetrics 为您提供正确的大小。
希望对您有所帮助,对不起,我没有更简单的答案给您!