Flutter windowのサイズを指定する

Flutter windowのサイズを指定する

Flutterで、windowのサイズを指定する手順を記述してます。パッケージ「window_size」を使用することで設定することが可能になります。「runApp」実行前にサイズを設定します。

環境

  • OS  windows11 pro 64bit
  • Flutter 3.3.7

パッケージ追加

サイズを指定するには、パッケージ「window_size」を使用します。
「pubspec.yaml」に「window_size」を追加します。

dependencies:
  flutter:
    sdk: flutter
  window_size:
    git:
      url: https://github.com/google/flutter-desktop-embedding.git
      path: plugins/window_size

サイズを指定

「setupWindow」で「webでない」かつ「プラットフォーム」をチェックしてからサイズを指定します

import 'dart:io';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:window_size/window_size.dart';

void main() {
  setupWindow(); // サイズを設定
  runApp(const MyApp());
}

// サイズを固定
const double windowWidth = 700;
const double windowHeight = 500;

// サイズを設定するメソッド
void setupWindow() {
  // webとプラットフォームをチェック
  if (!kIsWeb && (Platform.isWindows || Platform.isLinux || Platform.isMacOS)) {
    WidgetsFlutterBinding.ensureInitialized();
    setWindowTitle('sample');
    setWindowMinSize(const Size(windowWidth, windowHeight));
    setWindowMaxSize(const Size(windowWidth, windowHeight));
    getCurrentScreen().then((screen) {
      setWindowFrame(Rect.fromCenter(
        center: screen!.frame.center,
        width: windowWidth,
        height: windowHeight,
      ));
    });
  }
}

実行するとサイズが設定されていることが確認できます。