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 值解决,临时找不到更好方法