Flutter 中的自定义键盘快捷键用于返回独立的小部件

问题描述 投票:0回答:1

在我的 Flutter 应用程序中,我尝试添加自定义键盘快捷键,就像我使用文件选择器来附加图像一样。现在,我想使用像“Ctrl + I”这样的键盘快捷键来执行此操作,它返回该文件选择器小部件,然后在后台运行该小部件,要求添加图像。

我尝试使用各种内置小部件,例如 Focus、Keyboard Listener、HardwareKeyboard 和 FocusableActionDetector 类,但没有任何效果按照我想要的方式工作。 由于我是初学者,我想知道我是否错过了一些东西。

flutter dart keyboard-shortcuts shortcut flutter-shortcuts
1个回答
0
投票

查看 CallbackShortcuts 类 (https://api.flutter.dev/flutter/widgets/CallbackShortcuts-class.html)。将其包裹在您的小部件树周围,使用 Focus a 并传递您想要实现的命令。例如对于 Ctrl + I 它将是:

CallbackShortcuts(
  bindings: <ShortcutActivator, VoidCallback>{
    const SingleActivator(LogicalKeyboardKey.keyI, control: true): () {
      // callback
    },
  }
  child: Focus(
    autofocus: true,
    child: ...
  ),
);

这是一个比快捷方式更简单的小部件(https://api.flutter.dev/flutter/widgets/Shortcuts-class.html),但它可以完成工作,所以如果您是初学者,回调快捷方式是一个不错的选择

希望有帮助

© www.soinside.com 2019 - 2024. All rights reserved.