flutter开发实战-RawKeyboardListener监听键盘事件及keycode。

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等相关功能。

学习记录,每天不停进步。

相关推荐
Richar22 分钟前
Object.freeze()注意事项
前端·javascript
TA远方22 分钟前
【HTML】JavaScript Canvas 图像截取与保存完整指南
前端·javascript·html·canvas·截图·截取
Asize24 分钟前
JavaScript 数据类型解析:从 null 与 undefined 的迷思到栈堆内存真相
前端·javascript·面试
LDX前端校草1 小时前
position属性值及用法
前端·javascript·面试
晓13131 小时前
【Cocos Creator 3.x】篇——第四章 子系统
前端·javascript·游戏引擎
li-xun1 小时前
我的在线工具箱继续升级:新增 Token 计算器、AI 提示词生成器和开发者格式化工具
javascript·django·html5
ikoala1 小时前
Codex 怎么买、怎么充值?先把这两套计费搞清楚
前端·javascript·后端
前端Hardy2 小时前
一个时代结束了:npm 终于对 install 脚本下手了
前端·javascript·后端
风华圆舞2 小时前
在 Flutter 鸿蒙项目里接入文本转语音的完整思路
flutter·华为·harmonyos
GuWenyue2 小时前
前端异步请求踩坑?3种方式搞定Ajax数据交互,从XHR到async/await
前端·javascript·设计模式