标签: flutter-shortcuts

如何处理键盘快捷键

我正在编写一个 Flutter 应用程序,并希望在该应用程序的 Web 版本中处理 Ctrl+I 等键盘快捷键。

\n\n

小免责声明:看起来围绕快捷方式的 Flutter API 最近发生了变化。我找到的在线文档已经过时了。我在用着Flutter 1.19.0-0.0.pre \xe2\x80\xa2 channel dev

\n\n

我发现Actions API 设计文档感觉像是当前可用的 API。根据文档中的示例,我实现了这个简短的片段:

\n\n
class MyIntent extends Intent {}\n\nclass MyApp extends StatelessWidget {\n  // This widget is the root of your application.\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      title: \'Flutter Demo\',\n      theme: ThemeData(\n        primarySwatch: Colors.blue,\n        visualDensity: VisualDensity.adaptivePlatformDensity,\n      ),\n      home: Shortcuts(\n        shortcuts: {\n          LogicalKeySet(LogicalKeyboardKey.control): MyIntent(),\n        },\n        child: Actions(\n          actions: {\n            MyIntent: CallbackAction(onInvoke: (i) {\n              print(\'Hello World!!!\');\n              return …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-shortcuts

7
推荐指数
1
解决办法
4307
查看次数

如何使用快捷方式/意图/操作在 flutter 中注册应用程序全局操作?

使用快捷方式操作小部件可以轻松添加当焦点位于实际Actions小部件下方时调用的操作。

但在我的用例中,我有一个主/详细视图布局,即使详细视图处于焦点状态,我也需要主视图句柄快捷方式(如“下一项”/“上一项”)。(也可能相反,我希望详细视图在主视图具有焦点时处理快捷方式)。

我发现的唯一解决方法是在根级别上创建一个操作,主视图和详细视图可以在该操作上监听 - 但这感觉就像它绕过了Shortcuts整个Intent框架Action

那么有没有办法Actions在应用程序的根目录注册,而不是在焦点树内的特定上下文位置注册?


更具体一点:

带有主/详细视图的 AuthPass 屏幕截图

“主视图”是密码条目列表,而“详细视图”提供有关密码的字段/信息。即使焦点位于列表视图上,也CopyPasswordIntent应该由详细视图处理,而即使用户将焦点放在详细视图中,也SearchIntent应该始终将焦点恢复到列表视图的搜索字段。

flutter flutter-desktop flutter-shortcuts

5
推荐指数
0
解决办法
261
查看次数