【问题标题】:Flutter change extends颤振变化延伸
【发布时间】:2022-08-23 17:14:16
【问题描述】:

我想根据主题模式更改颜色。在AppTheme 我提到了 var

class AppTheme {
  static AppTheme of(BuildContext context) => DarkModeTheme();

  late Color primaryColor;
  late Color secondaryColor;
}

深色模式下的颜色

class DarkModeTheme extends AppTheme {
  @override
  Color primaryColor = const Color(0xFFFF5963);
  @override
  Color secondaryColor = const Color(0xFFBE7274);
}

在浅色模式下

class LightModeTheme extends AppTheme {
  @override
  Color primaryColor = const Color(0xFFA71A1C);
  @override
  Color secondaryColor = const Color(0xFFF6F6F6);
}

我称呼颜色的方式

Container(
  width: 100,
  height: 100,
  color: AppTheme.of(context).primaryColor,
)

最初,我提到了 DarkModeTheme(),所以 DarkModeTheme 原色是我所看到的。如何更改 LightModeTheme()

    标签: flutter flutter-theme


    【解决方案1】:

    在您的应用程序上制作一个开关按钮,例如夜间模式 True 或 False,并将其存储在静态参数 appMode 中, 然后更改您的代码如下

     class AppTheme {
      static AppTheme of(BuildContext context) => appMode ==false?  LightModeTheme():DarkModeTheme()
    
      late Color primaryColor;
      late Color secondaryColor;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-10-01
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 2022-08-09
      • 2021-11-24
      • 2019-12-03
      • 1970-01-01
      • 2021-12-07
      相关资源
      最近更新 更多