【发布时间】:2022-01-20 10:37:45
【问题描述】:
我正在尝试检测是否在 iPhone 键盘上按下了退格键。我编写的逻辑在 android 上完美运行,但在 iPhone 或 iPhone 模拟器上却不行。
这是我的代码:
Padding(
padding: const EdgeInsets.all(28.0),
child: RawKeyboardListener(
onKey: (RawKeyEvent event) {
if(event.runtimeType == RawKeyDownEvent){
if (event.logicalKey == LogicalKeyboardKey.backspace || event.physicalKey == PhysicalKeyboardKey.backspace) {
_focusNodes[i]?.unfocus();
if (i != 0) {
_focusNodes[i - 1]?.requestFocus();
}
}
}
},
focusNode: FocusNode(),
child: TextField(
key: Key('PinInput'),
controller: TextEditingController(),
focusNode: FocusNode(),
),
),
),
这段代码在 android 中完美运行,但是当我在 iPhone 或 iPhone 模拟器中按下一个键时,RawKeyboardListener 中的 onKey 回调没有被调用。
我该如何处理?
【问题讨论】:
-
我不太确定您到底在寻找什么。但是如果要检测键盘是否打开可以使用this package。
-
@JahnE。我正在尝试检测键盘 IOS 上按下的确切键(退格键)。我想在按下退格键时执行逻辑。
标签: flutter