【问题标题】:How can I set an appBar title Image to another image based on light/dark mode?如何根据明暗模式将 appBar 标题图像设置为另一个图像?
【发布时间】:2021-01-01 11:03:06
【问题描述】:

我正在尝试在启用暗模式时启用暗模式图像变体,并在启用光时启用亮背景图像。有什么办法可以在颤振中做到这一点

           onTap: () {
          if (Theme.of(context).brightness == Brightness.dark) {
            setBrightness(Brightness.light);
            setting.value.brightness.value = Brightness.light;
            AppBar(
              title: Image.asset('assets/img/gc.png', height: 100,));
          } else {
            setting.value.brightness.value = Brightness.dark;
            setBrightness(Brightness.dark);
            AppBar(
              title: Image.asset('assets/img/cgold.png', height: 100,),);
          }
          setting.notifyListeners();

((工作解决方案))

    title: Image.asset(Theme.of(context).brightness == Brightness.dark
        ? ('assets/img/gold.png')
        : ('assets/img/white.png'), height: 100,),

这只是简单地放在 appBar 小部件中 :)

【问题讨论】:

    标签: flutter user-interface dart


    【解决方案1】:

    试试看是否可行

    bool light = true;
    
    ...
     Widget build(BuildContext context) {
        return MaterialApp(theme: light = true ? ThemeData.light() : ThemeData.dark(),
          ...
          AppBar(
                  title: light = true ? Image.asset('assets/img/gc.png', height: 100,) : Image.asset('assets/img/cgold.png', height: 100,),)
          ...
        );
      }
    

    【讨论】:

    • 不幸的是没有运气:(
    • 确保它是一个有状态的小部件类,并在点击功能上用 setState 包装它
    猜你喜欢
    • 2021-09-02
    • 2019-12-09
    • 2020-05-31
    • 2018-04-26
    • 1970-01-01
    • 2018-02-17
    • 2016-09-16
    • 1970-01-01
    • 2016-03-12
    相关资源
    最近更新 更多