flutter开发实战-RawKeyboardListener监听键盘事件及keycode。
最近开发过程中遇到外设备的按钮点击触发相应的操作,需要监听对应的keycode来开启游戏或者相关操作。
这里用到了RawKeyboardListener
一、RawKeyboardListener是什么?
RawKeyboardListener是一个Widget,可以用来监听键盘的原始输入事件。
RawKeyboardListener属性
focusNode:FocusNode(),autofocus:是否自动焦点,onKey:监听回调方法,可以监听按下RawKeyDownEvent,松开RawKeyUpEvent,按下时候触发child:子Widget
onKey: 可以监听按下RawKeyDownEvent,松开RawKeyUpEvent,按下时候触发
二、实现监听的keycode
实现监听键盘keycode,这里监听的是回车键enter。
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等相关功能。
学习记录,每天不停进步。
来源地址:https://blog.csdn.net/gloryFlow/article/details/132111794