【问题标题】:How to set TextFormField to use primary color(on focus) in Flutter如何在 Flutter 中设置 TextFormField 以使用原色(焦点上)
【发布时间】:2019-10-30 16:06:11
【问题描述】:

我需要更改标签和边框的默认颜色以在焦点上使用原色,并且我已经尝试过 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,
    ),
);

谢谢。

【问题讨论】:

    标签: flutter dart flutter-theme


    【解决方案1】:

    尝试在 TextFormField 中设置样式,例如:

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

    【讨论】:

    • 谢谢,但我需要更改轮廓和标签的焦点颜色,我会编辑我的问题。
    【解决方案2】:

    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,
    );}
    

    而且,你在哪里定义你的颜色

    colors.dart

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

    之后,您可以简单地使用下面的示例:

    color: primaryColor,

    【讨论】:

    • 它有效,但我需要更改轮廓和标签的焦点颜色,我会编辑我的问题,谢谢。
    猜你喜欢
    • 2021-08-25
    • 2020-06-18
    • 2021-08-17
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多