#dart #flutter
#dart #трепетание
Вопрос:
Я хочу изменить цвет на тот prefixIcon
же, focusedInputBorder
что и цвет. Я пробовал использовать ThemeData в самом корне приложения, но безуспешно!
Ответ №1:
Цвет prefixIcon
управляется с помощью primaryColor
вашей темы.
Вы можете настроить его только для TextField
, обернув его внутри Theme
:
Theme(data: Theme.of(context).copyWith(primaryColor: Color(..)), child: TextField(..))
Ответ №2:
Я новичок в flutter. Но когда я попробовал, как показано ниже, он меняет 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)
),
)
Ответ №3:
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"),
),
Ответ №4:
Флаттер 3.3.2
можно сделать так.
Icon(
...
color: FocusScope.of(context).isFirstFocus ? colorA : colorB
...
)