【发布时间】:2020-04-22 17:33:55
【问题描述】:
在我的 Flutter 应用程序中,我试图获取真实的屏幕宽度(在每个设备上自然会有所不同)。
我正在使用MediaQuery.of(context).size.width,但我注意到返回的值与实际屏幕分辨率不匹配。
例如,
在模拟器 iPhone 11 Pro Max(分辨率为 2688 x 1242)上,我得到
MediaQuery.of(context).size.width= 414在模拟器 Nexus XL(分辨率为 1440 x 2560)上,我得到
MediaQuery.of(context).size.width= 411.42857142857144在真实设备 iPhone 7(分辨率为 1,334 x 750)上,我得到
MediaQuery.of(context).size.width= 375
有谁知道为什么 MediaQuery 返回的值与实际屏幕分辨率不同(以像素为单位)?
谢谢
【问题讨论】:
-
MediaQueryData.devicePixelRatio在每种情况下是什么? -
顺便说一句,你为什么想知道物理屏幕宽度?
-
是的,刚刚意识到它们实际上是逻辑像素,我真的不需要物理像素!谢谢!