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

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

相关推荐
jingling5559 分钟前
Git 常用命令指南:从入门到高效开发
前端·javascript·git·前端框架
牛巴粉带走21 分钟前
Flutter 构建失败:watchOS Target 类型无法识别的解决记录
flutter·ios·apple watch
midou55com26 分钟前
MousePlus鼠标右键增强工具v5.5.25,支持鼠标轮盘功能
计算机外设·鼠标右键增强
萌萌哒草头将军27 分钟前
VoidZero 发布消息称 Vite 纪录片即将首映!🎉🎉🎉
javascript·vue.js·vite
浮桥37 分钟前
vue3渲染html数据并实现文本修改
javascript·vue.js·html
子龙_1 小时前
JS解析wav音频数据并使用wasm加速
前端·javascript·音视频开发
爱吃大橘1 小时前
到底用 `Promise.reject` 还是 `throw new Error`
前端·javascript·面试
aningxiaoxixi1 小时前
android audio 之 Engine
android·前端·javascript
码农小菲1 小时前
告别虚拟 DOM?Vue3.6 Vapor 模式的性能革命与实践
前端·javascript·vue.js
Hilaku1 小时前
从 jQuery 到 React 再到 Svelte:我眼中的前端组件化演进史
前端·javascript·svelte