环境
Flutter 2.0
, 使用keyboard_action
包
问题
我在键盘上放了一个工具栏。当在文本字段中输入 4 个或更多数字时,我想将工具栏颜色设为蓝色。就像示例图像一样。但是,如果不关闭键盘,颜色不会改变。
即使我输入超过 4 位数字,我也必须移除小键盘并让它重新出现才能看到蓝色工具栏。
如果我输入四个以上的数字,我只想改变工具栏的颜色。无需关闭键盘并使其再次出现。
我试过的
控制器连接到现场
textController.addListener(() {
if (textController.text.length > 4) {
setState(() {
isValid = true;
});
} else {
setState(() {
isValid = false;
});
}
});
键盘工具栏
(...)
body: KeyboardActions(
config: isValid ?
PhoneValidKeyboardBar(
focusNode: focusNode,
text: '인증번호 전송',
).phoneValidKeyConfig(context)//this is blue tool bar
: PhoneInvalidKeyboardBar(
focusNode: focusNode,
text: '인증번호 전송',
).phoneInvalidKeyConfig(context),//this is grey tool bar
(...)
我也尝试只使用一个“配置”。这是一种通过根据 isValid 值运行 LayoutBuilder 来更改颜色的方法。但它失败了。