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

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

相关推荐
一夜枫林3 小时前
uniapp自定义拖拽排列
前端·javascript·uni-app
良艺呐^O^4 小时前
uniapp实现app自动更新
开发语言·javascript·uni-app
拉不动的猪6 小时前
前端自做埋点,我们应该要注意的几个问题
前端·javascript·面试
烛阴7 小时前
Node.js中必备的中间件大全:提升性能、安全与开发效率的秘密武器
javascript·后端·express
小杨升级打怪中7 小时前
前端面经-JS篇(三)--事件、性能优化、防抖与节流
前端·javascript·xss
鱼樱前端8 小时前
前端必知必会:JavaScript 对象与数组克隆的 7 种姿势,从浅入深一网打尽!
前端·javascript
yzhSWJ8 小时前
Spring Boot中自定义404异常处理问题学习笔记
java·javascript
zyk_52010 小时前
前端渲染pdf文件解决方案-pdf.js
前端·javascript·pdf
沉迷...10 小时前
手动实现legend 与 echarts图交互 通过js事件实现图标某项的高亮 显示与隐藏
前端·javascript·echarts
bst@微胖子11 小时前
Flutter之路由和导航
flutter