#flutter #dart
Вопрос:
Я начинаю учиться с flutter и хочу изменить цвет границы текстового поля, потому что по умолчанию оно серое, как я показываю на скриншоте:
Я использую черный цвет фона для своего приложения, и граница текстового поля не видна, она видна только тогда, когда она сфокусирована или когда используется клавиатура
сфокусированное текстовое поле
Я пробовал с new Theme
:
Container(
child: new Theme(
data: ThemeData(
primaryColor: Colors.white,
//
inputDecorationTheme: InputDecorationTheme(
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.white)),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.white))),
),
child: Column(
children: [
TextField(
style: TextStyle(
color: Colors.white,
),
decoration: InputDecoration(
labelText: 'EMAIL',
labelStyle: TextStyle(
fontFamily: 'Montserrat',
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
),
],
),
)),
и это выглядит так:
Ответ №1:
Проще установить режим темы приложения в темный и использовать тему по умолчанию.темно, пока вы разбираетесь с темами. Темная тема довольно хорошо работает с текстовыми полями и т. Д.
Ответ №2:
Ответ Шравана Кумара Нереллы был большим подспорьем, я не думал об этом таким образом, однако я продолжал исследования и не знал, что можно задать тему для контейнера, и вот как получился мой код: надеюсь, это поможет кому-то другому
Container(
child: Theme(
data: new ThemeData.dark(), // HERE
child: Column(
children: [
TextField(
style: TextStyle(color: Colors.white),
decoration: InputDecoration(
labelText: 'EMAIL',
labelStyle: TextStyle(
fontFamily: 'Montserrat',
fontWeight: FontWeight.bold,
color: Colors.white,
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
),
),
],
),
),
),