如何在Flutter中将TextFormField设置为使用原色(聚焦)

时间:2019-10-30 16:06:11

标签: flutter dart flutter-theme

我需要更改标签和边框的默认颜色以将原色用于焦点,并且我已经尝试过InputDecorationTheme,但是它不适用于标签。我意识到TextField使用强调色。

The screen; 和主题:

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 :(得分:0)

尝试像这样在TextFormField中设置样式:

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

答案 1 :(得分:0)

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,