我正在尝试使用 flutter 构建 macOS 桌面应用程序。我希望应用程序是全宽、边到边的。但是,当我通过模拟器运行应用程序时,或者在构建之后,它总是启动大小为 800x600 的应用程序。
我已将根容器的高度和宽度设置为 double.infinity。事实上,即使我将高度和宽度设置为 10.0,它总是以 800x600 启动应用程序。我是颤振新手,所以可能缺少一些基础知识。我遇到的大多数教程都讨论构建移动应用程序,这从来都不是问题,因为应用程序总是以其全宽启动。
这是我的整个测试应用程序代码:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(color: Colors.white),
height: double.infinity,
width: double.infinity,
child: Center(
child: Text(
'Hello World',
textDirection: TextDirection.ltr,
style: TextStyle(
fontSize: 32, fontWeight: FontWeight.bold, color: Colors.black),
),
),
);
}
}
现在有一个插件可以做到这一点,这不是永久性的事情,因为它被描述为最终折叠到核心库之前的初步功能。
目前使用该插件仍然可能比直接修改本机代码进行硬编码更好,特别是如果您想在多个平台上工作的话。
首先添加到pubspec.yaml
就像是:
dependencies:
...
window_size:
git:
url: git://github.com/google/flutter-desktop-embedding.git
path: plugins/window_size
ref: 927f8cbc09b35d85245c095f2db8df9b186f6618
使用特定的 Git 参考来包含此内容(如上所示),可以让您很好地控制何时选择提取更新的代码并进行可能需要的任何更改。
然后,您可以访问各种函数来设置最小/最大窗口大小或框架,或获取当前值,例如:
...
import 'dart:io'
import 'package:window_size/window_size.dart';
...
void main() {
WidgetsFlutterBinding.ensureInitialized();
if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) {
setWindowTitle("My Desktop App");
setWindowMinSize(Size(375, 750));
setWindowMaxSize(Size(600, 1000));
}
runApp(MyApp());
}
我希望这可以帮助别人。当真正的答案出来时,我会尝试更新这篇文章。该界面可能会近似于该库中呈现的内容,但功能集可能会发生一些变化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)