如何更改TextFiled中Focused prefixIcon图标的颜色?

时间:2019-04-20 18:09:12

标签: dart flutter

TextField Image

我想将prefixIcon的颜色更改为与focusedInputBorder的颜色相同。我已经在应用程序的最根部尝试了ThemeData,但没有运气!

3 个答案:

答案 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"),
          ),