【发布时间】:2022-12-18 10:35:07
【问题描述】:
我想用箭头键遍历 Focus-Group,以便选择下一个/上一个 focusNode。在 tab/shift+tab 上,我希望焦点跳出那个焦点组,到我的焦点组之外的下一个/上一个焦点节点:
Focus(
onKey: (focusNode, event) {
if (event.runtimeType == RawKeyDownEvent) {
if (event.logicalKey == LogicalKeyboardKey.arrowDown) {
focusNode.nextFocus();
return KeyEventResult.handled;
} else if (event.logicalKey == LogicalKeyboardKey.arrowUp) {
focusNode.previousFocus();
return KeyEventResult.handled;
} else if (event.logicalKey == LogicalKeyboardKey.tab) {
if(RawKeyboard.instance.keysPressed.contains(LogicalKeyboardKey.shiftLeft))){
// TODO: JUMP FOCUS OUT OF THIS FOCUS WIDGET
// TO THE FOCUS NODE ABOVE/BEFORE THIS FOCUS WIDGET
} else {
// TODO: JUMP FOCUS OUT OF THIS FOCUS WIDGET
// TO THE FOCUS NODE BELOW/AFTER THIS FOCUS WIDGET
}
return KeyEventResult.handled;
}
}
return KeyEventResult.ignored;
},
child: ...
【问题讨论】: