颤音 - 文本格式字段更改焦点标签颜色

当我集中注意力时, 我正试图改变我的唇语颜色。 我可以改变文本颜色 , 但不能集中注意力。

我尝试了所有的提示文本颜色和标签文本颜色 , 但没有什么帮助。

Container(
                padding: EdgeInsets.fromLTRB(15, 10, 15, 0),
                child: TextFormField(
                    cursorColor: Colors.lightGreen,
                  keyboardType: TextInputType.phone,
                  decoration: InputDecoration(
                      labelText: 'Phone Number',
                      hintText: 'Enter a Phone Number',
                    focusedBorder: OutlineInputBorder(
                        borderSide: BorderSide(
                            color: Colors.lightGreen
                        )
                    ),
                    border: OutlineInputBorder(
                        borderSide: BorderSide(
                        )),
                    )
                ),
              ),

下面是正在发生的事情的图像。 enter image description here

enter image description here


EN From: Flutter - textFormField Change labelColor on focus

13 Comments

  1. 你是在试图改变标签文本或暗示文本的一般颜色 , 还是你要求在不集中时是一种颜色 , 在集中时是另一种颜色 ?
  2. 我想把唇语的颜色改变一下。 如果你从我的图片中看到 , 标签文本没有被选中时是灰色的 ( 这是我想要的 ) , 然后当我选择它时 , 我希望它变成黑色 ( 它变成蓝色 )
  3. 你需要有一个方法来确定它的焦点状态 , 然后根据它的颜色创建一个条件。 这就是焦点节点的帮助所在。 创建一个新的 FocusNode , 将其作为 TextFormField 中的 focusNode 属性。 然后在 TextFormField 的 TextStyle 属性的颜色属性中 , 可以添加以下内容 :

      FocusNode myFocusNode = new FocusNode();
    
        return TextFormField(
          focusNode: myFocusNode,
          decoration: InputDecoration(
            labelText: 'test',
            labelStyle: TextStyle(
              color: myFocusNode.hasFocus ? Colors.blue : Colors.black
            )
          ),
        );
    

    编辑 : 仅需快速注意 , 您可能需要确保这是在一个可用的 Widget 中 , 然后将侦听器添加到您创建的焦点节点 , 并调用 setstate 在该焦点节点上的任何事件。 否则你不会看到任何变化。

    1. 这不起作用。 我像你说的那样增加了一个焦点节点 , 并遵循了你的例子。 实验室风格在焦点还是不一样的颜色天气。
    1. 您不会在属性上设置状态 , 而是在调用整个 widget / 类重建的事件上调用它。 你在给焦点事件打电话。 这将通过在 initState 中添加一个侦听器来实现。 例如 : MyFocusNote.addistener (() {setstate (()});} 不要忘记处理你的听众以防止内存泄漏。
    1. 这是我第一次使用听众 ( 对不起 , 我是初学者 , 我把听众放在哪里 ?
    1. 您重写了处置方法 , 就像您操作内部状态一样。 您需要使 ( ) {函数为自己的变量 , 然后在创建的 focode 的外接程序和 removeListener 方法中调用它。 这可能是最好深入了解的东西 , 而不是我的快速解释。
    1. 好吧 , 我发现了一个问题... 我有 6 种不同的形式 , 当我将焦点节点添加到表单中时 , 它们调用到焦点。 我不需要做 6 个不同的焦点节点来做 ?
    1. 是的 , 每个焦点节点都是针对每个字段的。 如果您希望以编程方式移动用户的焦点 , 那么这就是您如何确定您的焦点所在或设置焦点的位置。 您可能想考虑的一个选项是让您自己的类将所有颜色变化 - 焦点 / 非焦点功能打包到一个地方。 然后使用该类作为生成文本字段的方法。 这实际上会更有效率 , 因为从那时起 , 你只需要调用对每个 textfield 进行焦点改变事件的重建 , 而不是整个表单 / 页。

More articles:

  • 更新文本字段后更改按钮颜色
  • 如何在按下按钮时从 ListView 中删除一个文本字段?
  • 目标编辑器中的 SSSIS excel 格式不会从文本字段更改 ** 在原地工作 **
  • 如何在单击"文本字段"时隐藏键盘,但要保持焦点(保持显示光标)
  • 颤音 : 是否可能仅在传递到文本小部件之前在字符串中格式化 ( 粗体、斜体等 ) ?
  • 如何更改标签字体颜色?
  • 动态更改 Twitter API @username 的文本和链接的颜色
  • 如何更改搜索建议文本颜色
  • 更改 Word 文档页脚的文本颜色
  • HTML 更改表格单元格的背景和文本字体颜色在同一时间停留
  • 如何将颜色选取器函数集成到动态文本字段中
  • 更改 LollipopToolbar 文本颜色
  • AdobeFLASHAS3 文本框更改颜色
  • 从函数中设置一个文本字段的默认文本格式
  • 使用 rgba 更改表视图单元格的文本颜色
  • 不使用 JavaScript 更改 PHP 填充文本字段
  • 输入文本字段的 XPath , 该字段的 id 不断更改
  • Kendo UI - 文本颜色更改单击"取消"
  • 在输入或文本中更改字体颜色
  • 如何在文本框上方放置 django char 字段的标签 / 描述
  • 文档符号 SOAP API - 自定义标签 - 可选文本字段
  • 在 {0} 之间更改文本颜色
  • 用 CSS 更改文本颜色
  • 用 PHP 解析文本文件 , 数据格式在此更改
  • iOS / Swift 4 : 从以编程方式创建的标签上更改颜色
  • 如何防止文本字段使用 jQuery 和 JavaScript 失去焦点 ?
  • 更改默认文本颜色 , 仍然显示不同颜色的禁用菜单项
  • 当应用程序暂停时 , 我如何更改操作栏的标题文本颜色 ?
  • 更改项目文本颜色导航视图
  • 如何更改 TinyMCE 中超链接文本的颜色