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

Flutter Windows平台如何设置窗口最小尺寸?

如何为Flutter Windows应用设置窗口最小尺寸

方法一:使用window_manager第三方包

这是最简便的实现方式,支持快速配置窗口属性:

  1. 在pubspec.yaml中添加依赖:
dependencies:
  flutter:
    sdk: flutter
  window_manager: ^0.3.0 # 可替换为最新稳定版本
  1. 在main.dart中初始化并设置最小尺寸:
import 'package:flutter/material.dart';
import 'package:window_manager/window_manager.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // 初始化窗口管理器
  await windowManager.ensureInitialized();
  
  // 配置窗口参数,重点设置minimumSize
  WindowOptions windowOptions = WindowOptions(
    size: const Size(800, 600), // 初始窗口大小
    minimumSize: const Size(400, 300), // 这里设置你需要的最小尺寸
    center: true,
    title: "你的应用标题",
  );

  windowManager.waitUntilReadyToShow(windowOptions, () async {
    await windowManager.show();
    await windowManager.focus();
  });

  runApp(const MyApp());
}

// 你的MyApp代码示例
class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

方法二:修改Windows原生代码(无第三方依赖)

如果不想引入第三方包,可以直接修改Flutter生成的Windows工程文件:

  1. 打开项目中的windows/runner/win32_window.cpp文件
  2. 在CreateAndShowWindow函数里,CreateWindowEx调用之前添加最小尺寸配置:
// 设置窗口最小尺寸
MINMAXINFO minMaxInfo;
minMaxInfo.ptMinTrackSize.x = 400; // 自定义最小宽度
minMaxInfo.ptMinTrackSize.y = 300; // 自定义最小高度
SetWindowLongPtr(hwnd, GWLP_USERDATA, reinterpret_cast<LONG_PTR>(&minMaxInfo));
  1. 在WndProc函数中添加WM_GETMINMAXINFO消息处理:
case WM_GETMINMAXINFO: {
  MINMAXINFO* pInfo = reinterpret_cast<MINMAXINFO*>(lParam);
  MINMAXINFO* pMyMinMax = reinterpret_cast<MINMAXINFO*>(GetWindowLongPtr(hwnd, GWLP_USERDATA));
  if (pMyMinMax) {
    pInfo->ptMinTrackSize = pMyMinMax->ptMinTrackSize;
  }
  return 0;
}
  1. 重新编译运行Windows应用,窗口就会被限制在你设置的最小尺寸内。

两种方法都能实现你的需求,方法一适合快速开发,方法二更适合需要原生定制的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 22:33:19