-
-
Notifications
You must be signed in to change notification settings - Fork 258
Open
Description
import 'package:flutter/material.dart';
import 'package:video_player_media_kit/video_player_media_kit.dart';
import 'package:window_manager/window_manager.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
VideoPlayerMediaKit.ensureInitialized(windows: true, linux: true);
await windowManager.ensureInitialized();
WindowOptions windowOptions = WindowOptions(
size: Size(1280, 720),
minimumSize: Size(960, 540),
center: true,
backgroundColor: Colors.transparent,
titleBarStyle: TitleBarStyle.hidden,
);
windowManager.waitUntilReadyToShow(windowOptions, () async {
await windowManager.setTitleBarStyle(
TitleBarStyle.hidden,
windowButtonVisibility: false,
);
await windowManager.setAspectRatio(16 / 9);
await windowManager.show();
await windowManager.focus();
});
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(home: MyHomePage());
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key});
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: AspectRatio(
aspectRatio: 16 / 9,
child: LayoutBuilder(
builder: (context, constraints) {
return Container(
color: Colors.blue,
child: Text(
'Container Width: ${constraints.maxWidth}\nContainer Height: ${constraints.maxHeight}',
),
);
},
),
),
);
}
}
以上代码,预期生成一个宽度为 1280 高度为 720 的窗口,窗口内填充宽度为 1280 高度为 720 ,背景颜色为蓝色的容器,容器内显示当前容器的宽高。
但是,在 Linux 平台运行后蓝色容器不能填充满窗口,容器内的文字提示为 Container Width: 1240.888888\nContainer Height: 698.0
,蓝色背景无法完全填充窗口,在最右侧存在一定的空白。
相同的代码,在 windows 平台运行符合预期,整个窗口完全填充蓝色背景。
Metadata
Metadata
Assignees
Labels
No labels