return RawKeyboardListener( focusNode: FocusNode(), // 焦点 onKey: (RawKeyEvent event) { RawKeyEventDataAndroid data = event.data; //.... });
这是我在flutter1.22.6版本的代码
更新到2.2.1后
onKey: (RawKeyEvent event) { RawKeyEventDataAndroid data = event.data; }
这一段产生了类型谬误
如图:
RawKeyEventDataAndroid 这一行提醒
A value of type 'RawKeyEventData' can't be assigned to a variable of type 'RawKeyEventDataAndroid'.
没方法,只好按着提醒改为 RawKeyEventData 类型,然而RawKeyEventData 类型没有keyCode属性,只好用keyLabel代替。
然而理论跑起来调试后发现,原来返回的data还是RawKeyEventDataAndroid
而且应用到的keyLabel属性是空字符串。
目前通过转换成字符串,来提取keyCode值解决,临时找不到更好方法