mat*_*ode 5 android ios flutter
我正在开发一个 Flutter 应用程序,需要在小屏幕(iPhone 5S、SE、6S、Galaxy 5S 等)上调整元素大小。
为了做到这一点,我调用double width = MediaQuery.of(context).size.width,如果该值低于750像素(iPhone 6S 大小),则元素会变小。
这在设备上效果很好,但在 iOS 模拟器中,无论它在哪个模拟设备上运行,该值总是很小(~375)。这基本上使得查看应用程序是否在模拟器上运行之后无法使用,因为它总是显示“小”版本。
有没有更好的方法来获取适用于 iOS 模拟器的设备大小?或者可能有其他方法来适应屏幕尺寸?
我想到了!事实证明,存在“逻辑”像素(系统在此处输出)和“设备”像素,它们是通过读出两者之间的比率来计算的。
当“像素”可以有子像素时,例如当从未有过的 iDevices 极大地增加了其实际分辨率,但像素计数没有乘以相同的因子时,就会使用此方法。
double logicalPixelWidth = MediaQuery.of(context).size.width;
double devicePixelRatio = MediaQuery.of(context).devicePixelRatio;
double devicePixelWidth = logicalPixelWidth * devicePixelRatio;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1970 次 |
| 最近记录: |