1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-08 13:58:47 +00:00

Setup to handle app window on desktop (#1028)

This commit is contained in:
Miguel Beltran
2022-02-28 20:50:10 +01:00
committed by GitHub
parent 67a6d1a068
commit 4b9cc632a7
34 changed files with 1443 additions and 2 deletions

View File

@@ -2,6 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:provider_shopper/common/theme.dart';
@@ -10,11 +13,32 @@ import 'package:provider_shopper/models/catalog.dart';
import 'package:provider_shopper/screens/cart.dart';
import 'package:provider_shopper/screens/catalog.dart';
import 'package:provider_shopper/screens/login.dart';
import 'package:window_size/window_size.dart';
void main() {
setupWindow();
runApp(const MyApp());
}
const double kWindowWidth = 400;
const double kWindowHeight = 800;
void setupWindow() {
if (!kIsWeb && (Platform.isWindows || Platform.isLinux || Platform.isMacOS)) {
WidgetsFlutterBinding.ensureInitialized();
setWindowTitle('Provider Demo');
setWindowMinSize(const Size(kWindowWidth, kWindowHeight));
setWindowMaxSize(const Size(kWindowWidth, kWindowHeight));
getCurrentScreen().then((screen) {
setWindowFrame(Rect.fromCenter(
center: screen!.frame.center,
width: kWindowWidth,
height: kWindowHeight,
));
});
}
}
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);