[英]How to change default preffix icon theme in Flutter?
我有一個問題。 我使用 colorScheme 更改 TextField 中前綴圖標的顏色,但如何更改默認前綴圖標顏色。 我試圖以這種方式改變它
data: Theme.of(context).copyWith(
iconTheme: Theme.of(context).iconTheme.copyWith(
color: Colors.red,
),
colorScheme: Theme.of(context).colorScheme.copyWith(
primary: Colors.blue,
),
),
但這種方式行不通
如果你想要一個固定的圖標顏色,你可以使用這個:
TextField(
decoration: InputDecoration(
prefixIcon: Icon(Icons.done, color: Colors.green),
),
),
Github上有一個關於這個的問題
更新:
看到這個代碼
class MyHomePage extends StatefulWidget {
MyHomePage({Key? key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
FocusNode _focus = FocusNode();
//Define your default color
Color fieldColor = Colors.green;
//Using focus node everytime the focus change the listener will change the
//color and call setState
@override
void initState() {
super.initState();
_focus.addListener(() {
setState(() {
fieldColor = _focus.hasFocus ? Colors.red : Colors.black;
});
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
debugShowCheckedModeBanner: false,
home: Scaffold(
body: TextField(
focusNode: _focus,
decoration: InputDecoration(
prefixIcon: Icon(Icons.done, color: fieldColor),
),
),
),
);
}
}
我能夠改變包裝TextField
:
Theme(
data: Theme.of(context).copyWith(primaryColor: Colors.black),
child: TextFormField(),
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.