答案 0 :(得分:2)
prefixIcon
的颜色是通过主题的primaryColor
控制的。
通过将其包装在TextField
内,可以仅针对Theme
进行调整:
Theme(data: Theme.of(context).copyWith(primaryColor: Color(..)), child: TextField(..))
答案 1 :(得分:0)
我是新手。但是当我尝试如下操作时,它会更改preFixIcon
的颜色:(不要介意缩进。它缩进得不太好)
TextField(
obscureText: false,
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
fontWeight: FontWeight.bold
),
decoration: new InputDecoration(
prefixIcon: Icon(Icons.vpn_key,
color: Colors.white,),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.all( Radius.circular(20)),
borderSide: BorderSide( width: 1, color: Colors.white),),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.all(Radius.circular(20)),
borderSide: BorderSide( width: 1, color: Colors.white),),
hintText: 'Password',
hintStyle: TextStyle(color: Colors.white,fontSize: 15)
),
)
以下是我得到的预期输出: n1570
答案 2 :(得分:0)
List<FocusNode> _focusNodes = [
FocusNode(),
FocusNode(),
];
@override
void initState() {
_focusNodes.forEach((node){
node.addListener(() {
setState(() {});
});
});
super.initState();
}
TextFormField(
focusNode: _focusNodes[0],
decoration: InputDecoration(
prefixIcon: Icon(
Icons.alternate_email,
color: _focusNodes[0].hasFocus ? Colors.green : Colors.grey,
),
hintText: "Email"),
),