У меня есть поле ввода с префиксом Icon, но я не могу понять, как установить тему, когда поле не выбрано. Вот как это выглядит, когда он не выбран

Как вы можете видеть, значок имеет темный цвет, в то время как он должен иметь светлый цвет, как граница есть. Когда я выбираю поле, я получаю это
Что намного лучше, потому что теперь я действительно вижу значок. В документации написано
The size and color of the prefix icon is configured automatically using an [IconTheme] and therefore does not need to be explicitly given in the icon widget.
Но когда я устанавливаю темы значков
iconTheme: IconThemeData(color: _primaryColorLight),
primaryIconTheme: IconThemeData(color: _primaryColorLight),
accentIconTheme: IconThemeData(color: _primaryColorLight),
Ничего не меняется?
Widget _buildNameField(BuildContext context) {
final ThemeData theme = Theme.of(context);
return TextFormField(
onSaved: (String value) => _phoneNumber = value,
keyboardType: TextInputType.text,
style: theme.textTheme.body1,
decoration: InputDecoration(
prefixIcon: Icon(Icons.person),
hintText: 'Name',
),
validator: (String value) {
if (value.isEmpty || value.length < 2) return 'Please enter a name with two letters or more';
},
);
}
Это поле моего имени. Теперь я мог бы, конечно, просто придать иконке цвет. Но так случилось, что я использую пакет, в котором есть меню выбора, которое также использует TextFormField и также сталкивается с той же проблемой. Так что я мог бы, конечно, форкнуть это репо и изменить там цвет значка. Но это кажется трудоемким и довольно хакерским.
Так как я могу установить это с помощью темы?
Edit
В документации говорится, что тема значка префикса TextFormField происходит от IconTheme.
return IconTheme(
data: theme.iconTheme,
child: ListTileTheme(
iconColor: theme.iconTheme.color,
child: MaterialApp(
home: TheRootPage(),
theme: theme,
debugShowCheckedModeBanner: false,
),
),
);
Это работает для ListTileTheme, но не для IconTheme, почему это?