textFieldWrap method
dynamic
textFieldWrap(
- Widget child
)
Implementation
textFieldWrap(Widget child){
return Stack(children: [
Opacity(
opacity: 0.0, // 完全透明
child: IgnorePointer(
ignoring: false, // 仍然允许接收键盘输入
child: TextField(
focusNode: textfieldFocus,
controller: controller,
onChanged: (String text){
switch(text){
//// ASDW
case 'a':
case 'A':
if(setAWSD.$1){
textDispatchCall(PadActionEvent.left, setAWSD.$2);
break;
}
case 's':
case 'S':
if(setAWSD.$1){
textDispatchCall(PadActionEvent.down, setAWSD.$2);
break;
}
case 'd':
case 'D':
if(setAWSD.$1){
textDispatchCall(PadActionEvent.right, setAWSD.$2);
break;
}
case 'w':
case 'W':
if(setAWSD.$1){
textDispatchCall(PadActionEvent.up, setAWSD.$2);
break;
}
case 'q':
case 'Q':
if(setAWSD.$1){
textDispatchCall(PadActionEvent.prevLeft, setAWSD.$2);
break;
}
case 'e':
case 'E':
if(setAWSD.$1){
textDispatchCall(PadActionEvent.nextRight, setAWSD.$2);
break;
}
/// JKLI
case 'j':
case 'J':
if(setJIKL.$1){
textDispatchCall(PadActionEvent.left, setJIKL.$2);
break;
}
case 'k':
case 'K':
if(setJIKL.$1){
textDispatchCall(PadActionEvent.down, setJIKL.$2);
break;
}
case 'l':
case 'L':
if(setJIKL.$1){
textDispatchCall(PadActionEvent.right, setJIKL.$2);
break;
}
case 'i':
case 'I':
if(setJIKL.$1){
textDispatchCall(PadActionEvent.up, setJIKL.$2);
break;
}
case 'u':
case 'U':
if(setJIKL.$1){
textDispatchCall(PadActionEvent.prevLeft, setJIKL.$2);
break;
}
case 'o':
case 'O':
if(setJIKL.$1){
textDispatchCall(PadActionEvent.nextRight, setJIKL.$2);
break;
}
default:
onPadEvent?.call(PadActionEvent.raw, 'text:$text');
}
controller.text = '';
},))),
child,
...floatings ?? []
]);
}