自分用メモ。
2019年12月現在、macOS向けにしか対応してないようなのですが、 window_size(公式)を使うとデスクトップアプリの起動時のウインドウサイズを変更することができるようです。
https://github.com/google/flutter-desktop-embedding/pull/362
pubspec.yaml
dependencies:
flutter:
sdk: flutter
# ↓をdependenciesに追加
window_size:
git:
url: git://github.com/google/flutter-desktop-embedding
path: plugins/window_size
lib/main.dart
import 'package:flutter/material.dart';
import 'package:window_size/window_size.dart';
// Sets a platform override for desktop to avoid exceptions. See
// https://flutter.dev/desktop#target-platform-override for more info.
void _enablePlatformOverrideForDesktop() {
if (!kIsWeb && (Platform.isMacOS || Platform.isWindows || Platform.isLinux)) {
debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;
}
}
void main() {
_enablePlatformOverrideForDesktop();
WidgetsFlutterBinding.ensureInitialized(); // ←これがないと初期化前に実行するな的なエラーが出る
if (Platform.isMacOS) {
getWindowInfo().then((windowInfo) { // OSによって配置された場所・サイズを取得し
setWindowFrame( // 場所はそのままに、widthとheightを変更
Rect.fromCenter(
center: windowInfo.frame.center,
width: 480,
height: 640,
)
);
});
}
runApp(MyApp());
}
https://github.com/google/flutter-desktop-embedding/blob/master/plugins/README.md
にも注意書きがあるように、あくまで "early stage desktop plugins" なので、自己責任で。