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

如何为Flutter Windows Debug应用单独设置显示缩放比例

Flutter Windows 应用单独设置100%缩放的实现方法

有两类可落地的方案,按需选择即可:

方案1:无需修改项目代码,仅本地Debug环境生效

这个方案不会改动项目代码,不影响其他协作者,适合仅本地调试时使用:

  • 进入项目的Debug编译产物目录,路径为 build\windows\x64\Debug\,找到和项目同名的.exe主程序文件
  • 右键该exe文件,选择「属性」,切换到「兼容性」标签页
  • 点击「更改高DPI设置」按钮,在弹出窗口中勾选「替代高DPI缩放行为」
  • 下拉选择缩放执行方为「系统」,点击确定保存设置即可
  • 后续不管是直接双击打开exe,还是通过flutter run启动Debug版应用,都会固定按100%缩放渲染,不会跟随系统150%的全局缩放

方案2:修改项目配置,所有编译版本固定100%缩放

如果需要Debug、Release等所有编译出的Windows版本都固定100%缩放,可以修改Windows Runner的DPI感知配置:

  • 打开项目路径下的 windows\runner\main.cpp 文件
  • 找到配置DPI感知上下文的代码段,默认会传入DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2参数,代表跟随系统单显示器DPI自动缩放
  • 将该参数替换为DPI_AWARENESS_CONTEXT_UNAWARE,即标记应用不感知系统DPI缩放,始终以100%比例渲染
  • 保存文件后重新编译运行即可生效,修改后的核心代码示例:
if (SetProcessDpiAwarenessContext) {
  // 替换原有DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2参数
  dpiAwarenessSuccess =
      SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_UNAWARE);
}

注:该配置下系统会自动处理窗口的缩放适配,不会出现UI错位问题,仅Flutter应用内的控件、文字渲染比例固定为100%,不受系统全局缩放影响。

内容的提问来源于stack exchange,提问作者Vishnubly

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:48:21