You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter 3.10中window已废弃,如何无context获取原window属性?

解决方案

无需使用Context的情况下,你可以通过PlatformDispatcher结合当前应用视图实例来获取这些原ui.window上的属性,具体对应关系如下:

  • ui.window.devicePixelRatio → PlatformDispatcher.instance.devicePixelRatio
  • ui.window.physicalSize → PlatformDispatcher.instance.views.first.physicalSize
  • ui.window.viewPadding → PlatformDispatcher.instance.views.first.viewPadding

补充说明

如果你的应用是多视图场景(比如Flutter 3.10+支持的多窗口),需要根据实际目标视图从PlatformDispatcher.instance.views列表中选择对应的视图实例;单视图应用直接取views.first即可。

另外,也可以通过WidgetsBinding.instance.platformDispatcher来获取PlatformDispatcher实例,效果和直接调用PlatformDispatcher.instance一致。


内容的提问来源于stack exchange,提问作者Daniel Roldán

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 09:37:04