flutter - 使暗/亮模式图标在点击时改变

flutter - make dark / light mode icon change on tap

我想实现当模式激活时,我的深色/浅色按钮的图标会相应地改变,也就是说,我想要在浅色模式下有一个太阳图标,在深色模式下有一个月亮图标。我为此找到了不同的解决方案,但我无法使用它们,也许谁可以提供帮助?可能是代码分解不正确,因为我是新手,看不懂:/

              Padding(
                padding: const EdgeInsets.only(left: 40),
                child: ClipOval(
                  child: Material(
                    color: Color(0xFF282C39),
                    child: InkWell(
                      splashColor: Colors.blue,
                      child: SizedBox(width: 32, height: 32, child: Icon(Icons.brightness_2, size: 20, color: Colors.white)),
                      onTap: () {
                        isDark
                            ? Magazin.of(context)!
                            .setBrightness(Brightness.light)
                            : Magazin.of(context)!
                            .setBrightness(Brightness.dark);
                      },
                    ),
                  ),
                ),
              ),

你的图标没有变化的原因是你一直把你的图标设置为Icons.brightness_2。你应该检查它之前是否使用 dark/light 主题。

Icon(
  isDark ? Icons.brightness_4 : Icons.brightness_2,
  size: 20,
  color: Colors.white,
  ),