0

示例图像

环境

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 来更改颜色的方法。但它失败了。

4

0 回答 0