使用一个textformfield小部件,我需要根据焦点和非焦点状态改变背景的颜色,但是这个改变在焦点和非焦点时屏幕上不会改变,下面是一个代码样本。
在这里
FocusNode _focusNode = FocusNode();
Container(
width: double.infinity,
color: _focusNode.hasFocus ? Colors.red : Colors.black,
child: TextFormField(
focusNode: _focusNode,
),
)
2条答案
按热度按时间dw1jzc5e1#
尝试另一种方法,在
StatefullWidget
中的FocusNode
上添加一个侦听器,该侦听器将基于此更改颜色:首先,在
State
对象中:这将监听
FocusNode
,当它必须聚焦时,它将把颜色更新为绿色,否则,它是红色。然后在小部件中:
vwkv1x7d2#
您可以使用
ValueNotifier