Как настроить TextFormField на использование основного цвета (в фокусе) во флаттере - PullRequest
0 голосов
/ 30 октября 2019

Мне нужно изменить цвет метки и границы по умолчанию, чтобы использовать основной цвет в фокусе, и я уже пробовал InputDecorationTheme, но он не очень хорошо работает с меткой. Я понимаю, что TextField использует цвет акцента.

Экран; и тема:

final ThemeData darkTheme = ThemeData(
    primaryColor: Colors.blueAccent[400],
    accentColor: Colors.pinkAccent[400],
    brightness: Brightness.dark,
    backgroundColor: Colors.grey[900],
    inputDecorationTheme: InputDecorationTheme(
        fillColor: Colors.white.withOpacity(0.1),
        filled: true,
    ),
);

Спасибо.

Ответы [ 2 ]

0 голосов
/ 30 октября 2019

utils.dart

class AvailableFonts {
  static const primaryFont = "Quicksand";
  static const primaryFontSize = 14.0;
}

theme.dart

поместите его в папку lib как main

ThemeData buildThemeData() {
  final baseTheme = ThemeData(fontFamily: AvailableFonts.primaryFont);

 return baseTheme.copyWith(
   primaryColor: primaryColor,
   primaryColorDark: primaryDark,
   primaryColorLight: primaryLight,
   accentColor: secondaryColor,
);}

И, где вы определяете свои цвета

colours.dart

const primaryColor = Colors.red;
const primaryLight = const Color(0xFFB71C1C);
const primaryDark = const Color(0xFFFF9F59);
const secondaryColor = Colors.white;

После этого вы можете просто использовать в качестве примера ниже:

color: primaryColor,

0 голосов
/ 30 октября 2019

Попробуйте установить стиль в вашем TextFormField, например:

style: TextStyle(
   color: Theme.of(context).primaryColor
),
...