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