【发布时间】:2019-12-24 18:35:44
【问题描述】:
我正在开发一个需要在小屏幕(iPhone 5S、SE、6S、Galaxy 5S 等)上调整元素大小的 Flutter 应用。
为此,我调用了double width = MediaQuery.of(context).size.width,如果该值低于750 像素(iPhone 6S 尺寸),则元素会变得更小。
这在设备上运行良好,但在 iOS 模拟器中,无论在哪个模拟设备上运行,该值总是很小 (~375)。这基本上使查看应用程序在模拟器上运行后无法使用,因为它总是显示“小”版本。
有没有更好的方法来获取适用于 iOS 模拟器的设备大小?或者可能有其他方法来适应屏幕尺寸?
【问题讨论】:
-
您自己的答案确实是正确的方法。请注意,仅在 iOS 模拟器中,MediaQuery 检索的宽度会随着您调整模拟器窗口本身的大小而变化。这在 Android 模拟器中不会发生。不知道这是 Flutter 团队的意图还是苹果模拟器的错误(ish)行为。我相信是后者。