gpt4 book ai didi

flutter - (Flutter)TextFormField 在焦点上更改 labelColor

转载 作者:IT王子 更新时间:2023-10-29 07:18:51 25 4
gpt4 key购买 nike

我正试图在聚焦时更改我的 labelText 颜色。我可以更改文本颜色,但无法在聚焦时更改。

我已经尝试了所有的提示文字颜色和标签文字颜色,但没有任何帮助。

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

最佳答案

您需要有一种方法来确定其焦点状态,然后根据该状态为其颜色创建条件。这是 focusNode 会有所帮助的地方。在小部件创建过程中构造一个新的 FocusNode,将其用作 TextFormField 中的 focusNode 属性。然后在 TextFormFieldTextStyle 属性的颜色属性中,您可以添加如下内容:

FocusNode myFocusNode = new FocusNode();

...

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

编辑:只是一个简短的说明,您可能需要确保它在 StatefulWidget 中,然后将监听器添加到您创建的 focusNode 并调用 setStatefocusNode 上的任何事件。否则你将看不到任何变化。

关于flutter - (Flutter)TextFormField 在焦点上更改 labelColor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56411599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com