我不认为这会在MacOS的默认应用程序模板中实现.当我按下Command+W时,它没有任何react .我们如何才能在Flutter 翼中做到这一点?
我不认为这会在MacOS的默认应用程序模板中实现.当我按下Command+W时,它没有任何react .我们如何才能在Flutter 翼中做到这一点?
Note: For exiting a window on mac, you need to press command+Q, this approach is if you want to specifically detect command+W.个
要退出Flutter 应用程序(不适用于iOS),您可以拨打:
SystemNavigator.pop();
如果您在内部查看它的代码,它会调用:
SystemChannels.platform.invokeMethod<void>('SystemNavigator.pop'
因此,要检测Command+W,您可以设置键盘监听程序:
RawKeyboard.instance.addListener((key) {
if (key.isMetaPressed && key.isKeyPressed(LogicalKeyboardKey.keyW)) {
SystemNavigator.pop();
}
});
完整代码:
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
void main() {
runApp(MaterialApp(home: const MyApp()));
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
RawKeyboard.instance.addListener((key) {
if (key.isMetaPressed && key.isKeyPressed(LogicalKeyboardKey.keyW)) {
SystemNavigator.pop();
}
});
return Scaffold(
body: Text("Press on the command+w key to close the app"),
);
}
}