快乐学习 一个网站喵查铺子(catpuzi.com)全搞定~

flutter修改TextFiled主题

flutter开发 尔雅学习君 2020-01-05 扫描二维码
文章目录[隐藏]

1、在MaterialApp中修改主题

  1. inputDecorationTheme: InputDecorationTheme(
  2. border: OutlineInputBorder(),
  3. ),
  4.  
  5. 示例位置
  6. ThemeData _buildShrineTheme() {
  7. final ThemeData base = ThemeData.light();
  8. return base.copyWith(
  9. accentColor: kShrineBrown900,
  10. primaryColor: kShrinePink100,
  11. buttonColor: kShrinePink100,
  12. scaffoldBackgroundColor: kShrineBackgroundWhite,
  13. cardColor: kShrineBackgroundWhite,
  14. textSelectionColor: kShrinePink100,
  15. errorColor: kShrineErrorRed,
  16. primaryIconTheme: base.iconTheme.copyWith(
  17. color: kShrineBrown900,
  18. ),
  19. textTheme: _buildShrineTextTheme(base.textTheme),
  20. primaryTextTheme: _buildShrineTextTheme(base.primaryTextTheme),
  21. accentTextTheme: _buildShrineTextTheme(base.accentTextTheme),
  22. //输入框的主题样式
  23. inputDecorationTheme: InputDecorationTheme(
  24. border: OutlineInputBorder(),
  25. ),
  26. );
  27. }
  28.  

2、取消filled属性

  1. TextField(
  2. obscureText: true,
  3. controller: _passwordController,
  4. decoration: InputDecoration(
  5. //filled: true,
  6. labelText: "Password",
  7. ),
  8. ),

3、进阶:修改颜色增强对比度

 

3.1、在TextFiled所在的类中新建如下:

  1. class AccentColorOverride extends StatelessWidget {
  2. final Color color;
  3. final Widget child;
  4.  
  5. const AccentColorOverride({Key key, this.color, this.child})
  6. : super(key: key);
  7.  
  8. @override
  9. Widget build(BuildContext context) {
  10. return Theme(
  11. child: child,
  12. data: Theme.of(context).copyWith(primaryColor: color),
  13. );
  14. }
  15. }

3.2、使用AccentColorOverride包裹TextFiled

  1. AccentColorOverride(
  2. color: kShrineBrown900,
  3. child: TextField(
  4. controller: _usernameController,
  5. decoration: InputDecoration(
  6. //filled: true,
  7. labelText: "UserName",
  8. ),
  9. ),
  10. ),

 

原始TextFiled风格

 

flutter修改TextFiled主题

第1、2步修改过后的效果
flutter修改TextFiled主题

第三步修改之后效果

flutter修改TextFiled主题

喜欢 (0)
关于作者: