flutter开发实战-RawKeyboardListener监听键盘事件及keycode。
最近开发过程中遇到外设备的按钮点击触发相应的操作,需要监听对应的keycode来开启游戏或者相关操作。
这里用到了RawKeyboardListener
一、RawKeyboardListener是什么?
RawKeyboardListener是一个Widget,可以用来监听键盘的原始输入事件。
RawKeyboardListener属性
dart
focusNode:FocusNode(),
autofocus:是否自动焦点,
onKey:监听回调方法,可以监听按下RawKeyDownEvent,松开RawKeyUpEvent,按下时候触发
child:子Widget
onKey: 可以监听按下RawKeyDownEvent,松开RawKeyUpEvent,按下时候触发
二、实现监听的keycode
实现监听键盘keycode,这里监听的是回车键enter。
dart
return RawKeyboardListener(
focusNode: FocusNode(),
autofocus: true, // 要开启自动焦点
onKey: (RawKeyEvent event) {
if (event is RawKeyDownEvent) {
// 监听按下RawKeyDownEvent,松开RawKeyUpEvent,按下时候触发
if (Platform.isAndroid) {
RawKeyEventDataAndroid rawKeyEventDataAndroid =
event.data as RawKeyEventDataAndroid;
if (rawKeyEventDataAndroid.keyCode == 66) {
// 点击ENTER_CODE
// 开启游戏
}
} else if (Platform.isIOS) {
RawKeyEventDataIos rawKeyEventDataIos =
event.data as RawKeyEventDataIos;
if (rawKeyEventDataIos.keyCode == 66) {
// 点击ENTER_CODE
// 开启游戏
}
}
}
},
child: Container());
当需要判断下环境Platform.isAndroid或者Platform.isIOS
需要注意的是:要开启自动焦点 autofocus为true。
三、小结
flutter开发实战-RawKeyboardListener监听键盘事件及keycode,可以监听按下,松开,keycode等相关功能。
学习记录,每天不停进步。