如何在没有文本字段的情况下从外部键盘收集字符并将其附加到变量中? 我正在尝试设置蓝牙/USB条形码扫描仪,以便在扫描时自动执行某些操作,但不需要点击字段(或查看字段) 并且让信用卡读取器在后台自动完成所有操作。
如何在没有文本字段的情况下从外部键盘收集字符并将其附加到变量中? 我正在尝试设置蓝牙/USB条形码扫描仪,以便在扫描时自动执行某些操作,但不需要点击字段(或查看字段) 并且让信用卡读取器在后台自动完成所有操作。
RawKeyboardListener
是一种能够实现这个功能的方法。详情请参见https://docs.flutter.io/flutter/widgets/RawKeyboardListener-class.html。
var _focusNode = FocusNode();
@override
Widget build(BuildContext context) {
return RawKeyboardListener(
child: Text('raw keyboard input'),
focusNode: _focusNode,
onKey: _onRawKeyEvent,
);
}
void _onRawKeyEvent(RawKeyEvent event) {
..
}
我和你处于同样的位置,在做了一些研究后,我认为RawKeyboardListener实际上不是最好的选择。相反,有一个名为FocusScope的Widget似乎非常适合这个目的。这个Widget最好的地方在于它的onKey事件不会被任何文本字段触发,也不会被软键盘触发。