在屏幕大小中启动Flutter桌面

g2ieeal7  于 2023-04-13  发布在  Flutter
关注(0)|答案(2)|浏览(128)

当使用Windows_ManagerUI使应用程序占据整个屏幕时,我得到以下错误:

Invalid constant value.

代码如下:

import 'dart:ui' as ui;
import 'package:window_manager/window_manager.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
     Size logicalScreenSize = ui.window.physicalSize;
  WindowOptions windowOptions = const WindowOptions(
    size:  logicalScreenSize,                        //Error in this instruction
    center: true,
    backgroundColor: Colors.transparent,
    skipTaskbar: false,
    titleBarStyle: TitleBarStyle.hidden,
  );
  windowManager.waitUntilReadyToShow(windowOptions, () async {
    await windowManager.show();
    await windowManager.focus();
  });
  await SystemChrome.setPreferredOrientations([
    DeviceOrientation.portraitUp,
    DeviceOrientation.portraitDown,
  ]);
  runApp(const MyApp());
}

我试图将这里提出的大多数解决方案结合起来,但没有一个有效。

编辑

之前的错误已经解决,但应用程序仍然没有采取屏幕的大小!!

b09cbbtk

b09cbbtk1#

所以,问题是,logicalScreenSize变量不是常量,这意味着值不会相同,这就是为什么你不能把它赋给const。
尽我所能你做了这些

WindowOptions windowOptions = const WindowOptions(
    size:  logicalScreenSize,                        //Error in this instruction
    center: true,
    backgroundColor: Colors.transparent,
    skipTaskbar: false,
    titleBarStyle: TitleBarStyle.hidden,
    windowButtonVisibility: false,
  );

现在你只需要从第一行删除const

WindowOptions windowOptions = WindowOptions(
....

WindowOptions中删除const

尺寸不起作用

您还需要分配minimumSize

WindowOptions windowOptions = const WindowOptions(
minimumSize: logicalScreenSize,
    .....
  );
4nkexdtk

4nkexdtk2#

删除此const并尝试运行

相关问题