我有以下TextField
:
TextField(
decoration: InputDecoration(
labelStyle: TextStyle(
color: I_WANT_TO_CHANGE_THIS,
),
labelText: widget.label,
),
);
如何更改颜色,以便使其在文本字段(提示)内时为灰色,而在文本字段上方(处于聚焦状态)浮动时为黑色。
答案 0 :(得分:0)
尝试使用FocusNode
:
class _MyHomePageState extends State<MyHomePage> {
FocusNode _focusNode = FocusNode();
Color color;
@override
Widget build(BuildContext context) {
_focusNode.addListener(() {
setState(() {
color = _focusNode.hasFocus ? Colors.blue : Colors.red;
});
});
return Scaffold(
body: Center(
child: TextField(
focusNode: _focusNode,
decoration: InputDecoration(
labelText: 'Label',
labelStyle: TextStyle(
color: _focusNode.hasFocus ? Colors.blue : Colors.red,
)
),
autofocus: false,
),
)
);
}
}
请注意,在此特定示例中,由于只有一个文本字段,因此一旦选中该文本字段将始终处于焦点。